diff --git a/customize.dist/favicon/alt-favicon-form.png b/customize.dist/favicon/alt-favicon-form.png new file mode 100644 index 000000000..2194e35b7 Binary files /dev/null and b/customize.dist/favicon/alt-favicon-form.png differ diff --git a/customize.dist/favicon/main-favicon-form.png b/customize.dist/favicon/main-favicon-form.png new file mode 100644 index 000000000..05c8ebf45 Binary files /dev/null and b/customize.dist/favicon/main-favicon-form.png differ diff --git a/www/form/app-form.less b/www/form/app-form.less index 115bbf3e9..b9aa77964 100644 --- a/www/form/app-form.less +++ b/www/form/app-form.less @@ -37,6 +37,31 @@ } } + &.cp-readonly { + .cp-form-creator-inline-add { + display: none; + } + .cp-form-creator-add-full { + display: none !important; + } + .cp-form-edit-buttons-container button { + display: none; + } + .cp-form-edit-save { + display: none; + } + .cp-form-block { + cursor: default !important; + .cp-form-block-drag-handle { + display: none !important; + } + } + } + + #cp-toolbar .cp-toolbar-title-readonly { + display: none; + } + #cp-app-form-container { display: flex; flex: 1; diff --git a/www/form/inner.js b/www/form/inner.js index e704378b5..fa6fc6b63 100644 --- a/www/form/inner.js +++ b/www/form/inner.js @@ -2279,7 +2279,7 @@ define([ updateAddInline(); if (editable) { - Sortable.create($container[0], { + APP.mainSortable = Sortable.create($container[0], { direction: "vertical", filter: "input, button, .CodeMirror, .cp-form-type-sort", preventOnFilter: false, @@ -2334,6 +2334,23 @@ define([ var helpMenu = framework._.sfCommon.createHelpMenu(['text', 'pad']); $toolbarContainer.after(helpMenu.menu); + var offlineEl = h('div.alert.alert-danger.cp-burn-after-reading', Messages.disconnected); + var oldFilter; + framework.onEditableChange(function (editable) { + if (editable) { + if (APP.mainSortable) { APP.mainSortable.options.filter = oldFilter; } + if (!APP.isEditor) { $(offlineEl).remove(); } + $body.removeClass('cp-readonly'); + } else { + if (APP.mainSortable) { + oldFilter = APP.mainSortable.options.filter; + APP.mainSortable.options.filter = function () { return true; }; + } + if (!APP.isEditor) { $('.cp-help-container').before(offlineEl); } + $body.addClass('cp-readonly'); + } + }); + if (!APP.isEditor) { framework._.toolbar.alone(); } diff --git a/www/form/main.js b/www/form/main.js index 0d288dbe3..4e6345efc 100644 --- a/www/form/main.js +++ b/www/form/main.js @@ -182,7 +182,7 @@ define([ validateKey: keys.secondaryValidateKey, owners: [myKeys.edPublic], crypto: crypto, - // XXX Cache + Cache: Utils.Cache }; var results = {}; config.onError = function (info) { @@ -346,7 +346,7 @@ define([ SFCommonO.start({ addData: addData, addRpc: addRpc, - cache: true, + //cache: true, noDrive: true, hash: hash, href: href,