Compare commits
6 Commits
Author | SHA1 | Date |
---|---|---|
Evan Chen | 42af9eccc7 | |
Evan Chen | b7ee78bde5 | |
Evan | 0910565e20 | |
Evan | 3ca2fe861f | |
Evan | 89c0a87118 | |
Evan Chen | 072c7d04d7 |
|
@ -64,7 +64,9 @@ func main() {
|
|||
|
||||
mux := http.NewServeMux()
|
||||
k := kconfig.New()
|
||||
k.AppName = flagAppName
|
||||
if flagFile != "" {
|
||||
k.Load = func() []byte { return nil }
|
||||
go func() {
|
||||
fi, err := os.Stat(flagFile)
|
||||
if err != nil {
|
||||
|
@ -98,6 +100,7 @@ func main() {
|
|||
mux.Handle("/", k)
|
||||
|
||||
g := guard.New()
|
||||
g.Skip = guard.SkipStatic
|
||||
|
||||
server := &http.Server{
|
||||
Addr: flagAddr,
|
||||
|
|
|
@ -18,9 +18,11 @@
|
|||
<div class='columns'>
|
||||
<div class='column col-md-12'>
|
||||
<button id='submit' class='tiny'>Submit</button>
|
||||
<button id='load' class='secondary tiny'>Load</button>
|
||||
<button id='download' class='secondary tiny'>Download</button>
|
||||
<button id='load' class='secondary tiny'>Restore</button>
|
||||
<button id='upload-btn' class='secondary tiny' onclick="upload.click()">Upload</button>
|
||||
<input id="upload" style="display: none" type="file">
|
||||
<a id="downloadAnchorElem" style="display:none"></a>
|
||||
<button id='download' class='secondary tiny'>Download</button>
|
||||
<span id='valid_indicator' class='label'></span>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -20,6 +20,7 @@ var index string
|
|||
var servePublic = http.FileServer(http.FS(public.FS))
|
||||
|
||||
var tmpl *engine.Engine
|
||||
var l = log.With().Str("mod", "kconfig").Logger()
|
||||
|
||||
func init() {
|
||||
tmpl = engine.Must(engine.New("").Parse(index))
|
||||
|
@ -44,7 +45,7 @@ func New() *Kconfig {
|
|||
AppName: "kconfig",
|
||||
Schema: defaultSchema,
|
||||
Apply: func(b []byte) error {
|
||||
log.Debug().Msgf("%s", b)
|
||||
l.Debug().Msgf("%s", b)
|
||||
return nil
|
||||
},
|
||||
Load: func() []byte {
|
||||
|
|
11
main.js
11
main.js
|
@ -13,7 +13,7 @@ import 'spectre.css/dist/spectre-icons.min.css'
|
|||
// The schema for the editor
|
||||
schema: {
|
||||
$ref: "api/schema",
|
||||
format: "grid"
|
||||
// format: "grid"
|
||||
},
|
||||
});
|
||||
|
||||
|
@ -77,4 +77,13 @@ import 'spectre.css/dist/spectre-icons.min.css'
|
|||
dlAnchorElem.setAttribute('download', AppName+'.json');
|
||||
dlAnchorElem.click();
|
||||
});
|
||||
|
||||
document.getElementById('upload').addEventListener('change',function(e) {
|
||||
var reader = new FileReader();
|
||||
reader.onload = function(event) {
|
||||
var jsonObj = JSON.parse(event.target.result);
|
||||
editor.setValue(jsonObj);
|
||||
};
|
||||
reader.readAsText(e.target.files[0]);
|
||||
});
|
||||
})();
|
4
make.sh
4
make.sh
|
@ -19,7 +19,7 @@ for PLATFORM in $PLATFORMS; do
|
|||
GOARCH=${PLATFORM#*/}
|
||||
BIN_FILENAME="${PROJ}"
|
||||
if [[ "${GOOS}" == "windows" ]]; then BIN_FILENAME="${BIN_FILENAME}.exe"; fi
|
||||
CMD="GOOS=${GOOS} GOARCH=${GOARCH} go build ${LDFLAGS} -o ${DIST}/${BIN_FILENAME} $@"
|
||||
CMD="CGO_ENABLED=0 GOOS=${GOOS} GOARCH=${GOARCH} go build ${LDFLAGS} -o ${DIST}/${BIN_FILENAME} $@"
|
||||
echo "${CMD}"
|
||||
eval $CMD || FAILURES="${FAILURES} ${PLATFORM}"
|
||||
sh -c "cd ${DIST} && tar -czf ${PROJ}-${VERSION}-${GOOS}-${GOARCH}.tar.gz ${BIN_FILENAME} && rm ${BIN_FILENAME}"
|
||||
|
@ -29,4 +29,4 @@ if [[ "${FAILURES}" != "" ]]; then
|
|||
echo ""
|
||||
echo "${SCRIPT_NAME} failed on: ${FAILURES}"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -1 +1 @@
|
|||
<!DOCTYPE html><html><head><link rel="stylesheet" href="index.e0891ed3.css"><title>{{.AppName}}</title><style>.ace_selection{background:#7f7f00!important}</style></head><body> <div class="container" style="max-width:960px;"> <div class="columns"> <h1 class="col-md-12">{{.AppName}} Config</h1> </div> <div class="columns"> <div class="col-md-12 column"> <button id="submit" class="tiny">Submit</button> <button id="load" class="secondary tiny">Load</button> <button id="download" class="secondary tiny">Download</button> <a id="downloadAnchorElem" style="display:none"></a> <span id="valid_indicator" class="label"></span> </div> </div> <br> <div class="columns"> <div class="col-md-12 column" id="editor_holder"></div> </div> </div> <script type="module" src="index.6ef506fc.js"></script> {{.ACE_JS}} <script>let AppName="{{.AppName}}";</script> </body></html>
|
||||
<!DOCTYPE html><html><head><link rel="stylesheet" href="index.e0891ed3.css"><title>{{.AppName}}</title><style>.ace_selection{background:#7f7f00!important}</style></head><body> <div class="container" style="max-width:960px;"> <div class="columns"> <h1 class="col-md-12">{{.AppName}} Config</h1> </div> <div class="columns"> <div class="col-md-12 column"> <button id="submit" class="tiny">Submit</button> <button id="load" class="secondary tiny">Restore</button> <button id="upload-btn" class="secondary tiny" onclick="upload.click()">Upload</button> <input id="upload" style="display:none" type="file"> <a id="downloadAnchorElem" style="display:none"></a> <button id="download" class="secondary tiny">Download</button> <span id="valid_indicator" class="label"></span> </div> </div> <br> <div class="columns"> <div class="col-md-12 column" id="editor_holder"></div> </div> </div> <script type="module" src="index.f85d8cc8.js"></script> {{.ACE_JS}} <script>let AppName="{{.AppName}}";</script> </body></html>
|
Loading…
Reference in New Issue