PATH:
var
/
www
/
vhosts
/
sandbox.dos-group.com
/
httpdocs
/
mendrisio
/
wp-content
/
plugins
/
admin-menu-editor
/
js
namespace AmeKoFreeExtensions { type ExtraFieldList = Array<[string, string | KnockoutObservable<string>]>; interface SaveFormConfig { submitUrl: string; action: string; actionNonce: string; referer?: string; settingsGetter: () => object; saveButtonText?: string; wrapButton?: boolean; formClasses?: string[] | KnockoutObservable<string[]>; extraFields?: ExtraFieldList; selectedActor?: KnockoutObservable<IAmeActor | null>; } /** * Partial save form configuration that can be received from the server, generated by the PHP * component of this feature (ameKnockoutSaveForm). */ export type SaveFormConfigFromServer = Pick< SaveFormConfig, 'submitUrl' | 'action' | 'actionNonce' | 'referer' | 'saveButtonText' >; export class SaveSettingsForm { public readonly submitUrl: string; public readonly action: string; public readonly actionNonce: string; public readonly settingsGetter: () => object; public readonly settingsJson: KnockoutObservable<string>; public readonly saveButtonText: string; public readonly wrapButton: boolean; public readonly formClassString: KnockoutObservable<string>; public readonly referer: string; public readonly includesSelectedActor: boolean; public readonly selectedActorId: KnockoutObservable<string>; public readonly extraFields: ExtraFieldList; public readonly isSaving: KnockoutObservable<boolean> = ko.observable(false); constructor(config: SaveFormConfig) { this.submitUrl = config.submitUrl; this.action = config.action; this.actionNonce = config.actionNonce; this.referer = config.referer || ''; this.settingsGetter = config.settingsGetter; this.settingsJson = ko.observable(''); this.saveButtonText = config.saveButtonText || 'Save Changes'; this.wrapButton = (typeof config.wrapButton !== 'undefined') ? config.wrapButton : true; let formClasses: KnockoutObservable<string[]>; if (config.formClasses) { formClasses = ko.isObservable<string[]>(config.formClasses) ? config.formClasses : ko.observable(config.formClasses || []); } else { formClasses = ko.observable<string[]>([]); } this.formClassString = ko.pureComputed(() => formClasses().join(' ')); this.includesSelectedActor = !!config.selectedActor; this.selectedActorId = ko.pureComputed(() => { if (config.selectedActor) { const actor = config.selectedActor(); return actor ? actor.getId() : ''; } return ''; }); this.extraFields = config.extraFields || []; } saveChanges() { const settings = this.settingsGetter(); this.settingsJson(JSON.stringify(settings)); this.isSaving(true); return true; } } ko.components.register('ame-save-settings-form', { viewModel: { createViewModel: function (params: { form: SaveSettingsForm | unknown }) { if (params.form instanceof SaveSettingsForm) { return params.form; } throw new Error('Invalid form parameter'); } }, template: ` <form method="post" class="ame-ko-save-form" data-bind="submit: saveChanges, class: formClassString, attr: {action: submitUrl}"> <input type="hidden" name="settings" data-bind="value: settingsJson"> <input type="hidden" name="action" data-bind="value: action"> <input type="hidden" name="_wpnonce" data-bind="value: actionNonce"> <!-- ko if: referer --> <input type="hidden" name="_wp_http_referer" data-bind="value: referer"> <!-- /ko --> <!-- ko if: includesSelectedActor --> <input type="hidden" name="selectedActor" data-bind="value: selectedActorId"> <!-- /ko --> <!-- ko foreach: extraFields --> <!-- ko if: $data[0] --> <input type="hidden" data-bind="attr: {name: $data[0]}, value: $data[1]"> <!-- /ko --> <!-- /ko --> <!-- ko if: wrapButton --> <p class="submit"> <input type="submit" class="button button-primary" disabled="disabled" data-bind="disable: isSaving(), value: saveButtonText" /> </p> <!-- /ko --> <!-- ko ifnot: wrapButton --> <input type="submit" class="button button-primary" disabled="disabled" data-bind="disable: isSaving(), value: saveButtonText" /> <!-- /ko --> </form> ` }); }
[-] actor-manager.js.map
[open]
[-] jquery.sort.js
[open]
[-] jquery.color.d.ts
[open]
[-] admin-helpers.js
[open]
[-] menu-editor.js
[open]
[-] settings-page-utils.js
[open]
[-] jquery.form.js
[open]
[-] lazyload.d.ts
[open]
[-] settings-page-utils.ts
[open]
[-] jquery.qtip.js
[open]
[-] jquery.biscuit.js
[open]
[-] jquery.qtip.min.js
[open]
[+]
..
[-] lazyload.min.js
[open]
[-] knockout.js
[open]
[-] free-ko-extensions.js.map
[open]
[-] jquery.form.d.ts
[open]
[-] menu-highlight-fix.js
[open]
[-] actor-manager.js
[open]
[-] mini-func.js.map
[open]
[-] jquery.d.ts
[open]
[-] knockout.d.ts
[open]
[-] actor-manager.ts
[open]
[-] mini-func.ts
[open]
[-] menu-editor.d.ts
[open]
[-] mini-func.js
[open]
[-] free-ko-extensions.js
[open]
[-] settings-page-utils.js.map
[open]
[-] free-ko-extensions.ts
[open]
[-] common.d.ts
[open]
[-] jqueryui.d.ts
[open]
[-] jquery.biscuit.d.ts
[open]
[-] knockout-sortable.js
[open]
[-] lodash4.min.js
[open]