@acorex/layout 3.0.47 → 3.0.48
Sign up to get free protection for your applications and to get access to all the features.
- package/acorex-layout.metadata.json +1 -1
- package/bundles/acorex-layout.umd.js +27 -19
- package/bundles/acorex-layout.umd.js.map +1 -1
- package/bundles/acorex-layout.umd.min.js +1 -1
- package/bundles/acorex-layout.umd.min.js.map +1 -1
- package/esm2015/lib/widget-board/editors/widget-size-editor/widget-size.editor.js +2 -2
- package/esm2015/lib/widget-board/editors/widget-size-editor/widget-size.module.js +3 -6
- package/esm2015/lib/widget-board/widget-board.module.js +1 -3
- package/esm2015/lib/widget-board/widget-host.component.js +12 -2
- package/esm5/lib/widget-board/editors/widget-size-editor/widget-size.editor.js +2 -2
- package/esm5/lib/widget-board/editors/widget-size-editor/widget-size.module.js +3 -4
- package/esm5/lib/widget-board/widget-board.module.js +1 -3
- package/esm5/lib/widget-board/widget-host.component.js +12 -2
- package/fesm2015/acorex-layout.js +25 -19
- package/fesm2015/acorex-layout.js.map +1 -1
- package/fesm5/acorex-layout.js +28 -20
- package/fesm5/acorex-layout.js.map +1 -1
- package/lib/widget-board/editors/widget-size-editor/widget-size.module.d.ts +0 -1
- package/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-layout.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","ng://@acorex/layout/lib/widget-board/widget.class.ts","ng://@acorex/layout/lib/widget-board/widget-config.component.ts","ng://@acorex/layout/lib/widget-board/widget-save.component.ts","ng://@acorex/layout/lib/widget-board/widget-host.component.ts","ng://@acorex/layout/lib/widget-board/widget-board.component.ts","ng://@acorex/layout/lib/widget-board/editors/widget-size-editor/widget-size.editor.ts","ng://@acorex/layout/lib/widget-board/editors/widget-size-editor/widget-size.module.ts","ng://@acorex/layout/lib/widget-board/widget-board.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { EventEmitter } from '@angular/core';\r\nimport { AXValueEvent, AXBaseEvent, propertyEditor, AXDataEvent } from '@acorex/components';\r\nimport { AXHtmlUtil, AXTranslator } from '@acorex/core';\r\n\r\nexport interface AXWidgetConfig {\r\n uniqueName: string;\r\n component: any;\r\n title: string;\r\n sizeX: number;\r\n sizeY: number;\r\n col?: number;\r\n row?: number;\r\n options?: any;\r\n props?: any;\r\n}\r\n\r\nexport interface AXWidgetConfigChanged extends AXBaseEvent {\r\n config: AXWidgetConfig;\r\n}\r\n\r\n\r\n\r\nexport interface AXWidgetBoardConfigChanged extends AXBaseEvent {\r\n\r\n}\r\n\r\nexport interface AXWidgetConfigSavedEvent extends AXDataEvent<AXWidgetSaveAsData> {\r\n\r\n}\r\n\r\n\r\nexport interface AXWidgetSaveAsData {\r\n title?: string;\r\n description?: string;\r\n icon?: string;\r\n group?: string;\r\n //\r\n uniqueName: string;\r\n component: any;\r\n options?: any;\r\n props?: any;\r\n}\r\n\r\n// @dynamic\r\nexport abstract class AXWidgetComponent {\r\n\r\n readonly uid: string = AXHtmlUtil.getUID();\r\n provideValue: (e: any) => any;\r\n\r\n onBusyChanged: EventEmitter<AXValueEvent<boolean>> = new EventEmitter<AXValueEvent<boolean>>();\r\n\r\n private _isBusy: boolean = true;\r\n public get isBusy(): boolean {\r\n return this._isBusy;\r\n }\r\n public set isBusy(v: boolean) {\r\n if (v !== this._isBusy) {\r\n const eventData: AXValueEvent<boolean> = {\r\n component: this,\r\n oldValue: this._isBusy,\r\n value: v\r\n };\r\n this._isBusy = v;\r\n this.onBusyChanged.emit(eventData);\r\n }\r\n }\r\n\r\n @propertyEditor({\r\n editorClass: 'ax/editors/widget-size',\r\n title: 'common.size',\r\n visible: false,\r\n order: -99,\r\n })\r\n widgetSize: number[];\r\n\r\n @propertyEditor({\r\n editorClass: 'ax/editors/select',\r\n title: 'common.refresh-rate',\r\n visible: true,\r\n order: -98,\r\n editorOptions: {\r\n items: () => {\r\n return [1, 2, 3, 5, 10, 20, 30, 60].map(c => ({\r\n id: 60000 * c,\r\n text: AXTranslator.get('dateTime.duration.format_minute').replace('{0}', c.toString())\r\n }));\r\n },\r\n allowNull: false,\r\n allowSearch: false,\r\n selectionDataMode: 'value',\r\n selectionMode: 'single',\r\n valueField: 'id',\r\n }\r\n })\r\n refreshRate: any = [{\r\n id: 60000 * 5,\r\n text: AXTranslator.get('dateTime.duration.format_minute').replace('{0}', '5')\r\n }];\r\n\r\n // ???\r\n getRefreshRate() {\r\n return Array.isArray(this.refreshRate) && this.refreshRate.length ? this.refreshRate[0].id : this.refreshRate;\r\n }\r\n\r\n private intervalId: number;\r\n\r\n constructor() {\r\n this.onConfiguredChanged.subscribe(() => {\r\n if (this.isConfigured === true && this.getRefreshRate()) {\r\n this.restartRefreshTimer();\r\n }\r\n else {\r\n this.stopRefreshTimer();\r\n }\r\n });\r\n }\r\n\r\n\r\n private startRefreshTimer() {\r\n this.intervalId = window.setInterval(this.refresh.bind(this), this.getRefreshRate());\r\n }\r\n\r\n private stopRefreshTimer() {\r\n window.clearInterval(this.intervalId);\r\n }\r\n\r\n private restartRefreshTimer() {\r\n this.stopRefreshTimer();\r\n this.startRefreshTimer();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.stopRefreshTimer();\r\n }\r\n\r\n public redraw() {\r\n\r\n }\r\n\r\n public refresh() {\r\n this.restartRefreshTimer();\r\n }\r\n\r\n onConfiguredChanged: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n get isConfigured(): boolean {\r\n return true;\r\n }\r\n\r\n public setValue(name: string, value?: any) {\r\n this[name] = value;\r\n this.onConfiguredChanged.emit();\r\n }\r\n\r\n public getValue(name: string): Promise<any> {\r\n const val = this[name];\r\n const config = this['__meta__'].config;\r\n const runtime = config.props[name]?.runtime;\r\n if (runtime && this.provideValue) {\r\n const res = this.provideValue({\r\n name,\r\n value: val,\r\n uniqueName: config.uniqueName,\r\n options: config.options,\r\n });\r\n if (this.provideValue instanceof Promise) {\r\n return res;\r\n }\r\n else {\r\n return Promise.resolve(res);\r\n }\r\n }\r\n return Promise.resolve(val);\r\n }\r\n\r\n}","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ChangeDetectorRef, ViewChild } from '@angular/core';\r\nimport { AXPropertyConfig, AXBasePopupPageComponent, AXMenuItemClickEvent, AXProperyEditorValueChangeEvent, AXValidationFormComponent } from '@acorex/components';\r\nimport { AXButtonItem, AXTranslator } from '@acorex/core';\r\nimport { AXWidgetComponent } from './widget.class';\r\n\r\n\r\n@Component({\r\n templateUrl: './widget-config.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\n\r\nexport class AXWidgetConfigComponent extends AXBasePopupPageComponent {\r\n\r\n @ViewChild(AXValidationFormComponent) form: AXValidationFormComponent;\r\n\r\n constructor(private cdr: ChangeDetectorRef) {\r\n super();\r\n }\r\n\r\n\r\n widget: AXWidgetComponent;\r\n props: AXPropertyConfig[] = [];\r\n displayProps: AXPropertyConfig[] = [];\r\n\r\n\r\n changes: AXPropertyConfig[] = [];\r\n\r\n context: any = {};\r\n\r\n\r\n getFooterButtons(): AXButtonItem[] {\r\n return [\r\n {\r\n name: 'okay',\r\n submitBehavior: true,\r\n text: AXTranslator.get('common.confirm'),\r\n style: 'success'\r\n },\r\n {\r\n name: 'cancel',\r\n cancelBehavior: true,\r\n text: AXTranslator.get('common.cancel'),\r\n style: 'danger blank'\r\n }\r\n ];\r\n }\r\n\r\n\r\n\r\n\r\n\r\n onFooterButtonClick(e: AXMenuItemClickEvent) {\r\n if (e.name === 'cancel') {\r\n this.close();\r\n }\r\n if (e.name === 'okay') {\r\n this.form.validate().then(c => {\r\n if (c.result) {\r\n this.close(this.changes);\r\n }\r\n });\r\n }\r\n }\r\n\r\n handleValueChange(e: AXProperyEditorValueChangeEvent) {\r\n const prop = this.changes.find(c => c.property.name === e.property.name);\r\n if (prop) {\r\n prop.value = e.value;\r\n }\r\n else {\r\n this.changes.push({ property: e.property, value: e.value });\r\n }\r\n this.updateContext();\r\n }\r\n\r\n ngOnInit() {\r\n this.displayProps = this.props.filter(c => c.property.visible !== false).sort((a, b) => a.property.order - b.property.order);\r\n this.updateContext();\r\n }\r\n\r\n\r\n private updateContext() {\r\n const ctx = {};\r\n this.props.forEach(p => {\r\n ctx[p.property.name] = p.value;\r\n });\r\n this.changes.forEach(p => {\r\n ctx[p.property.name] = p.value;\r\n });\r\n this.context = ctx;\r\n }\r\n\r\n\r\n identify(index, item: AXPropertyConfig) {\r\n return item.property.name;\r\n }\r\n\r\n}","import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n\r\n} from '@angular/core';\r\nimport { AXWidgetConfig, AXWidgetSaveAsData } from './widget.class';\r\nimport { AXButtonItem, AXHtmlUtil, AXObjectUtil, AXTranslator } from '@acorex/core';\r\nimport { AXPropertyConfig, AXMenuItemClickEvent, AXBasePopupPageComponent } from '@acorex/components';\r\n\r\n\r\n\r\n@Component({\r\n templateUrl: \"./widget-save.component.html\",\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class AXWidgetSaveComponent extends AXBasePopupPageComponent {\r\n config: AXWidgetConfig;\r\n props: AXPropertyConfig[] = [];\r\n displayProps: { name: string, title: string, allow: boolean }[];\r\n\r\n data: AXWidgetSaveAsData;\r\n\r\n getFooterButtons(): AXButtonItem[] {\r\n return [\r\n {\r\n name: 'okay',\r\n submitBehavior: true,\r\n text: AXTranslator.get('common.confirm'),\r\n style: 'ax success'\r\n },\r\n {\r\n name: 'cancel',\r\n cancelBehavior: true,\r\n text: AXTranslator.get('common.cancel'),\r\n style: 'ax light'\r\n }\r\n ];\r\n }\r\n\r\n ngOnInit() {\r\n const titleProp = this.props.find(c => c.property.name === 'title' || c.property.name === 'name');\r\n const title = titleProp?.value || this.config.title;\r\n const pp: any = {};\r\n this.props?.forEach(c => {\r\n pp[c.property.name] = c.property;\r\n });\r\n this.data = {\r\n component: this.config.component,\r\n title,\r\n uniqueName: `${this.config.uniqueName}-${AXHtmlUtil.getUID()}`,\r\n options: AXObjectUtil.deepJSONClone(this.config.options),\r\n props: AXObjectUtil.deepJSONClone(pp)\r\n };\r\n this.displayProps = this.props\r\n .filter(c => c.property.visible !== false)\r\n .sort((a, b) => a.property.order - b.property.order)\r\n .map(c => ({\r\n name: c.property.name,\r\n title: c.property.title,\r\n allow: true\r\n }));\r\n }\r\n\r\n\r\n\r\n onFooterButtonClick(e: AXMenuItemClickEvent) {\r\n if (e.name === 'cancel') {\r\n this.close();\r\n }\r\n if (e.name === 'okay') {\r\n this.props.forEach(p => {\r\n const pp = this.displayProps.find(c => c.name === p.property.name);\r\n if (pp == null || !pp.allow) {\r\n let ppp = this.data.props[p.property.name];\r\n if (ppp) {\r\n ppp.visible = false;\r\n }\r\n else {\r\n ppp = { visible: false };\r\n }\r\n }\r\n });\r\n this.close(this.data);\r\n }\r\n }\r\n}","import {\r\n Component,\r\n ViewEncapsulation, Input,\r\n ElementRef, HostBinding, ComponentFactoryResolver, ViewChild,\r\n ViewContainerRef, Output, EventEmitter, ChangeDetectionStrategy,\r\n ChangeDetectorRef, ComponentRef\r\n} from '@angular/core';\r\nimport { AXWidgetConfig, AXWidgetComponent, AXWidgetConfigChanged, AXWidgetConfigSavedEvent } from './widget.class';\r\nimport { AXObjectUtil, AXRenderService } from '@acorex/core';\r\nimport { AXPopupService, AXPropertyDecorators, AXPropertyDecorator, AXLoadingService } from '@acorex/components';\r\nimport { AXWidgetConfigComponent } from './widget-config.component';\r\nimport { AXMenuItem } from '@acorex/core';\r\nimport { AXTranslator } from '@acorex/core';\r\nimport { AXWidgetSaveComponent } from './widget-save.component';\r\n\r\n\r\n\r\n\r\n\r\n@Component({\r\n selector: 'ax-widget-host',\r\n templateUrl: \"./widget-host.component.html\",\r\n host: { class: 'ax widget-host', tabindex: '0' },\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\n\r\nexport class AXWidgetHostComponent {\r\n\r\n private _widget: AXWidgetComponent;\r\n public get widget(): AXWidgetComponent {\r\n return this._widget;\r\n }\r\n\r\n _hasProps: boolean = false;\r\n\r\n\r\n _hasMenu: boolean = false;\r\n\r\n @Input()\r\n provideValue: (e: any) => any;\r\n\r\n\r\n get element(): HTMLDivElement {\r\n return this.ref.nativeElement;\r\n }\r\n\r\n\r\n configMenuItem: AXMenuItem[] = [\r\n {\r\n icon: 'far fa-ellipsis-h',\r\n items: []\r\n }\r\n ];\r\n\r\n\r\n @Output()\r\n onRemove: EventEmitter<AXWidgetHostComponent> = new EventEmitter<AXWidgetHostComponent>();\r\n\r\n @Output()\r\n onConfigChanged: EventEmitter<AXWidgetConfigChanged> = new EventEmitter<AXWidgetConfigChanged>();\r\n\r\n\r\n @Output()\r\n onResized: EventEmitter<AXWidgetConfigChanged> = new EventEmitter<AXWidgetConfigChanged>();\r\n\r\n @Output()\r\n onSave: EventEmitter<AXWidgetConfigSavedEvent> = new EventEmitter<AXWidgetConfigSavedEvent>();\r\n\r\n @Input()\r\n config: AXWidgetConfig;\r\n\r\n @ViewChild('vc', { read: ViewContainerRef })\r\n vc: ViewContainerRef;\r\n\r\n private componentRef: ComponentRef<any>;\r\n //private isLoading: boolean = true;\r\n\r\n // get isBusy() {\r\n // return this._widget?.isBusy || this.isLoading;\r\n // }\r\n\r\n\r\n private _loadingId: number;\r\n\r\n private _isLoading: boolean = false;\r\n public get isLoading(): boolean {\r\n return this._isLoading;\r\n }\r\n public set isLoading(v: boolean) {\r\n this._isLoading = v;\r\n if (this._loadingId && !v) {\r\n this.loadingService.hide(this._loadingId);\r\n this._loadingId = null;\r\n }\r\n if (v) {\r\n this._loadingId = this.loadingService.show(this.ref.nativeElement);\r\n }\r\n }\r\n\r\n\r\n get isConfigured(): boolean {\r\n return this._widget?.isConfigured || false;\r\n }\r\n\r\n\r\n constructor(\r\n private ref: ElementRef<HTMLDivElement>,\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private rendererService: AXRenderService,\r\n private cdr: ChangeDetectorRef,\r\n private popup: AXPopupService,\r\n private loadingService: AXLoadingService\r\n\r\n ) {\r\n\r\n }\r\n\r\n\r\n ngOnInit() {\r\n this.isLoading = true;\r\n }\r\n\r\n\r\n async ngAfterViewInit() {\r\n let component: any;\r\n if (typeof this.config.component === 'string') {\r\n const route = await this.rendererService.findLoadedComponentByRoute(this.config.component, 20);\r\n component = route?.component;\r\n }\r\n else if (typeof this.config.component === 'function') {\r\n component = this.config.component;\r\n }\r\n if (component == null) {\r\n console.error(`Invalid Widget Component!`, this.config);\r\n this.onRemove.emit(this);\r\n return;\r\n }\r\n\r\n const widgetFactory = this.componentFactoryResolver.resolveComponentFactory(component);\r\n this.componentRef = this.vc.createComponent(widgetFactory);\r\n this._widget = this.componentRef.instance as AXWidgetComponent;\r\n this._widget.provideValue = this.provideValue;\r\n if (this._widget.onBusyChanged) {\r\n this._widget.onBusyChanged.subscribe((d) => {\r\n if (!this._widget.widgetSize) {\r\n this._widget.setValue('widgetSize', [this.sizeX, this.sizeY]);\r\n }\r\n else {\r\n this.setSizeFromOptions();\r\n }\r\n this.isLoading = d.value;\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n if (this._widget.onConfiguredChanged) {\r\n this._widget.onConfiguredChanged.subscribe(() => {\r\n this.setSizeFromOptions();\r\n });\r\n }\r\n //\r\n if (this.config.options) {\r\n Object.assign(this._widget, this.config.options);\r\n }\r\n this._hasProps = AXPropertyDecorators.getProperties(this._widget).length > 0;\r\n\r\n this.isLoading = false;\r\n this.config['__meta__'].instance = this;\r\n this._widget['__meta__'] = {};\r\n this._widget['__meta__'].config = this.config;\r\n //\r\n if (this._hasProps) {\r\n this.configMenuItem[0].items.push({\r\n name: 'configs',\r\n icon: 'far fa-cogs',\r\n text: AXTranslator.get('common.configs'),\r\n onClick: () => {\r\n this.openConfigDialog();\r\n }\r\n });\r\n }\r\n this.configMenuItem[0].items.push({\r\n name: 'save',\r\n icon: 'far fa-save',\r\n text: AXTranslator.get('common.save-as'),\r\n onClick: () => {\r\n this.openSaveDialog();\r\n }\r\n });\r\n if (true) {\r\n this.configMenuItem[0].items.push({\r\n name: 'remove',\r\n icon: 'far fa-times',\r\n style: 'ax danger blank',\r\n text: AXTranslator.get('common.remove'),\r\n onClick: () => {\r\n this.onRemove.emit(this);\r\n }\r\n });\r\n }\r\n this._hasMenu = this.configMenuItem[0].items.length > 0;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n @HostBinding('attr.data-size-x')\r\n @Input()\r\n sizeX: number = 1;\r\n\r\n @HostBinding('attr.data-size-y')\r\n @Input()\r\n sizeY: number = 1;\r\n\r\n @HostBinding('attr.data-col')\r\n @Input()\r\n col: number = 1;\r\n\r\n\r\n @HostBinding('attr.data-row')\r\n @Input()\r\n row: number = 1;\r\n\r\n\r\n private setSizeFromOptions() {\r\n this._widget.getValue('widgetSize').then(c => {\r\n const oldSizeX = this.sizeX;\r\n const oldSizeY = this.sizeY;\r\n if (c && Array.isArray(c) && (oldSizeX !== c[0] || oldSizeY !== c[1])) {\r\n this.config.sizeX = this.sizeX = c[0];\r\n this.config.sizeY = this.sizeY = c[1];\r\n this.onResized.emit({\r\n component: this._widget,\r\n config: this.config\r\n });\r\n }\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n\r\n remove(e: MouseEvent) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this.onRemove.emit(this);\r\n return false;\r\n }\r\n\r\n handleConfig(e: MouseEvent) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this.openConfigDialog();\r\n return false;\r\n }\r\n\r\n private openConfigDialog() {\r\n const ppp = this.getMergedProps();\r\n this.popup.open(AXWidgetConfigComponent, {\r\n title: AXTranslator.get('common.configs'),\r\n size: 'sm',\r\n data: {\r\n props: ppp.map(c => ({ property: c.options, value: this._widget[c.options.name] })),\r\n widget: this.widget\r\n }\r\n }).then(c => {\r\n if (c.data) {\r\n if (!this.config.options) {\r\n this.config.options = {};\r\n }\r\n c.data.forEach(p => {\r\n this._widget.setValue(p.property.name, p.value);\r\n this.config.options[p.property.name] = p.value;\r\n });\r\n this.emitConfigChanged();\r\n this._widget.redraw();\r\n this.cdr.detectChanges();\r\n }\r\n });\r\n }\r\n\r\n private openSaveDialog() {\r\n const ppp = this.getMergedProps();\r\n this.popup.open(AXWidgetSaveComponent, {\r\n title: AXTranslator.get('common.save-as'),\r\n size: 'sm',\r\n data: {\r\n config: this.config,\r\n props: ppp.map(c => ({ property: c.options, value: this._widget[c.options.name] }))\r\n }\r\n }).then(c => {\r\n if (c.data) {\r\n this.onSave.emit({\r\n component: this._widget,\r\n data: c.data\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n handleOptionClick(e: MouseEvent) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this.openConfigDialog();\r\n return false;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.vc.clear();\r\n if (this.componentRef) {\r\n this.componentRef.destroy();\r\n }\r\n }\r\n\r\n private getMergedProps(): AXPropertyDecorator[] {\r\n const ppp = AXObjectUtil.deepCopy(AXPropertyDecorators.getProperties(this._widget)) as AXPropertyDecorator[];\r\n for (const key in this.config.props) {\r\n if (Object.prototype.hasOwnProperty.call(this.config.props, key)) {\r\n const newP = this.config.props[key];\r\n const existPropDec = ppp.find(p => p.property === key);\r\n if (existPropDec) {\r\n Object.assign(existPropDec.options, newP);\r\n }\r\n }\r\n }\r\n return ppp;\r\n }\r\n\r\n private emitConfigChanged() {\r\n this.onConfigChanged.emit({\r\n component: this._widget,\r\n config: this.config\r\n });\r\n }\r\n\r\n}","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n ViewEncapsulation,\r\n ElementRef,\r\n ViewChild,\r\n NgZone,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Output,\r\n EventEmitter, ViewChildren, QueryList\r\n} from '@angular/core';\r\nimport {\r\n AXWidgetConfig,\r\n AXWidgetConfigChanged,\r\n AXWidgetBoardConfigChanged,\r\n AXWidgetConfigSavedEvent\r\n} from './widget.class';\r\nimport { AXWidgetHostComponent } from './widget-host.component';\r\nimport { AXHtmlUtil, AXClientRec } from '@acorex/core';\r\nimport { Observable } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'ax-widget-board',\r\n templateUrl: './widget-board.component.html',\r\n styleUrls: ['./widget-board.component.scss'],\r\n host: { class: 'ax widget-board' },\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class AXWidgetBoardComponent implements OnInit {\r\n\r\n @ViewChild('container')\r\n private container: ElementRef<HTMLDivElement>;\r\n\r\n @ViewChildren(AXWidgetHostComponent)\r\n private widgetHosts: QueryList<AXWidgetHostComponent>;\r\n\r\n widgets: AXWidgetConfig[] = [];\r\n\r\n @Input()\r\n galleryItems: AXWidgetConfig[] = [];\r\n\r\n @Input()\r\n tileSize: number = 80;\r\n\r\n @Input()\r\n gapSize: number = 5;\r\n\r\n private newWidget: AXWidgetConfig = null;\r\n\r\n public rtl: boolean;\r\n\r\n private _isInEditing: boolean = false;\r\n public isInEditing(): boolean {\r\n return this._isInEditing;\r\n }\r\n private isDragging: boolean = false;\r\n private dragItem: HTMLElement;\r\n\r\n @Input()\r\n provideValue: (e: any) => any;\r\n\r\n private readonly DATA_COL = 'data-col';\r\n private readonly DATA_ROW = 'data-row';\r\n private readonly DATA_SIZE_X = 'data-size-x';\r\n private readonly DATA_SIZE_Y = 'data-size-y';\r\n private readonly DATA_OLD_COL = 'data-old-col';\r\n private readonly DATA_OLD_ROW = 'data-old-row';\r\n\r\n\r\n @Output()\r\n onConfigChanged: EventEmitter<AXWidgetBoardConfigChanged> = new EventEmitter<AXWidgetBoardConfigChanged>();\r\n\r\n @Output()\r\n onWidgetSave: EventEmitter<AXWidgetConfigSavedEvent> = new EventEmitter<AXWidgetConfigSavedEvent>();\r\n\r\n constructor(\r\n private ref: ElementRef<HTMLDivElement>,\r\n private zone: NgZone,\r\n private cdr: ChangeDetectorRef\r\n ) { }\r\n\r\n\r\n ngOnInit() {\r\n if (this.rtl == null) {\r\n this.rtl = window.getComputedStyle(this.ref.nativeElement, null).getPropertyValue('direction') === 'rtl';\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.zone.runOutsideAngular((c) => {\r\n const style = document.createElement('style');\r\n style.type = 'text/css';\r\n this.ref.nativeElement.appendChild(style);\r\n // add css data classes\r\n for (let i = 1; i <= 50; i++) {\r\n style.innerHTML += `[${this.DATA_COL}=\"${i}\"] { ${this.rtl ? 'right' : 'left'}: ${(i - 1) * (this.tileSize + this.gapSize)}px; }`;\r\n style.innerHTML += `[${this.DATA_ROW}=\"${i}\"] { top: ${(i - 1) * (this.tileSize + this.gapSize)}px; }`;\r\n style.innerHTML += `[${this.DATA_SIZE_X}=\"${i}\"] { width: ${(i * this.tileSize) + ((i - 1) * this.gapSize)}px; }`;\r\n style.innerHTML += `[${this.DATA_SIZE_Y}=\"${i}\"] { height: ${(i * this.tileSize) + ((i - 1) * this.gapSize)}px; }`;\r\n }\r\n });\r\n }\r\n\r\n private calcGridSize() {\r\n this.zone.runOutsideAngular(() => {\r\n const width =\r\n (Math.max(...this.widgets.map((c) => c.col + c.sizeX - 1))) * (this.tileSize + this.gapSize);\r\n const height =\r\n (Math.max(...this.widgets.map((c) => c.row + c.sizeY - 1))) * (this.tileSize + this.gapSize);\r\n this.container.nativeElement.style.width = width + 'px';\r\n this.container.nativeElement.style.height = height + 'px';\r\n });\r\n }\r\n\r\n toggleEdit() {\r\n this._isInEditing ? this.finishEdit() : this.startEdit();\r\n }\r\n\r\n\r\n\r\n private dragStart(e: MouseEvent) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this.zone.runOutsideAngular(() => {\r\n if (this._isInEditing && e.which === 1) {\r\n this.dragItem = e.currentTarget as any;\r\n this.dragItem.setAttribute('data-x-offset', (this.dragItem.offsetLeft - e.clientX).toString());\r\n //\r\n this.dragItem.setAttribute('data-y-offset', (this.dragItem.offsetTop - e.clientY).toString());\r\n this.dragItem.classList.add('widget-dragging');\r\n this.dragItem.classList.remove('animate__animated', 'animate__pulse');\r\n }\r\n });\r\n return false;\r\n }\r\n\r\n removePositionData() {\r\n this.zone.runOutsideAngular(() => {\r\n if (this.dragItem && this._isInEditing && this.dragItem.getAttribute(this.DATA_OLD_COL) == null) {\r\n this.dragItem.setAttribute(this.DATA_OLD_COL, this.dragItem.getAttribute(this.DATA_COL));\r\n this.dragItem.setAttribute(this.DATA_OLD_ROW, this.dragItem.getAttribute(this.DATA_ROW));\r\n this.dragItem.removeAttribute(this.DATA_COL);\r\n this.dragItem.removeAttribute(this.DATA_ROW);\r\n }\r\n });\r\n }\r\n\r\n resetPositionData() {\r\n this.zone.runOutsideAngular(() => {\r\n if (this.dragItem && this._isInEditing) {\r\n this.setPosition(this.dragItem, this.dragItem.getAttribute(this.DATA_OLD_COL), this.dragItem.getAttribute(this.DATA_OLD_ROW));\r\n }\r\n });\r\n }\r\n\r\n private setPosition(element: HTMLElement, col: string, row: string) {\r\n this.zone.runOutsideAngular(() => {\r\n element.setAttribute(this.DATA_COL, col);\r\n element.setAttribute(this.DATA_ROW, row);\r\n element.removeAttribute(this.DATA_OLD_COL);\r\n element.removeAttribute(this.DATA_OLD_ROW);\r\n element.style.removeProperty('top');\r\n element.style.removeProperty('left');\r\n const widget = this.widgets.find(c => c['__meta__'].instance.element === element);\r\n widget.col = Number(col);\r\n widget.row = Number(row);\r\n });\r\n }\r\n\r\n private drag(e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this.zone.runOutsideAngular(() => {\r\n if (this.dragItem && this._isInEditing) {\r\n this.isDragging = true;\r\n this.addPlaceholder();\r\n const xOffset = Number(this.dragItem.getAttribute('data-x-offset'));\r\n const yOffset = Number(this.dragItem.getAttribute('data-y-offset'));\r\n this.dragItem.style.left = e.clientX + xOffset + 'px';\r\n this.dragItem.style.top = e.clientY + yOffset + 'px';\r\n //\r\n this.detectBestPlacement();\r\n this.removePositionData();\r\n }\r\n });\r\n return false;\r\n }\r\n\r\n private dragEnd(e) {\r\n this.zone.runOutsideAngular(() => {\r\n if (this.dragItem && this._isInEditing && this.isDragging) {\r\n this.dragItem.classList.remove('widget-dragging');\r\n this.dragItem.classList.add('animate__animated', 'animate__pulse');\r\n //\r\n const p = this.container.nativeElement.querySelector('.widget-blank-placeholder');\r\n if (this.newWidget) {\r\n const w = {\r\n uniqueName: this.newWidget.uniqueName,\r\n component: this.newWidget.component,\r\n title: this.newWidget.title,\r\n options: this.newWidget.options,\r\n sizeX: this.newWidget.sizeX,\r\n sizeY: this.newWidget.sizeY,\r\n col: Number(p.getAttribute(this.DATA_COL)),\r\n row: Number(p.getAttribute(this.DATA_ROW))\r\n };\r\n\r\n this.widgets.push(w);\r\n this.newWidget = null;\r\n this.container.nativeElement.removeChild(this.dragItem);\r\n this.zone.run(() => {\r\n this.cdr.detectChanges();\r\n this.calcGridSize();\r\n setTimeout(() => {\r\n w['__meta__'].instance.element.addEventListener('mousedown', this.dragStart.bind(this), false);\r\n }, 1000);\r\n });\r\n } else {\r\n if (p) {\r\n this.setPosition(this.dragItem, p.getAttribute(this.DATA_COL), p.getAttribute(this.DATA_ROW));\r\n }\r\n else {\r\n this.setPosition(this.dragItem, this.dragItem.getAttribute(this.DATA_OLD_COL), this.dragItem.getAttribute(this.DATA_OLD_ROW));\r\n }\r\n }\r\n //\r\n this.removePlaceholder();\r\n this.dragItem = null;\r\n this.calcGridSize();\r\n this.emitConfigChanged();\r\n }\r\n this.isDragging = false;\r\n });\r\n }\r\n\r\n private detectFirstEmptySlot(w: AXWidgetConfig) {\r\n const xTile = Math.floor(this.ref.nativeElement.parentElement.offsetWidth / this.tileSize);\r\n for (let j = 1; j <= 100; j++) {\r\n for (let i = 1; i <= xTile - w.sizeX; i++) {\r\n const rec = new AXClientRec({\r\n left: i,\r\n top: j,\r\n width: w.sizeX,\r\n height: w.sizeY\r\n });\r\n const el = this.widgets.filter(c => c !== w).find((c) =>\r\n rec.intersect({\r\n left: c.col,\r\n top: c.row,\r\n width: c.sizeX,\r\n height: c.sizeY\r\n })\r\n );\r\n if (el == null) {\r\n w.col = i;\r\n w.row = j;\r\n return;\r\n }\r\n }\r\n }\r\n }\r\n\r\n private detectBestPlacement() {\r\n this.zone.runOutsideAngular(() => {\r\n const p = this.container.nativeElement.querySelector('.widget-blank-placeholder') as HTMLElement;\r\n let col = Math.ceil(this.dragItem.offsetLeft / this.tileSize);\r\n if (this.rtl) {\r\n col = Math.ceil((this.container.nativeElement.clientWidth - (this.dragItem.offsetLeft + this.dragItem.clientWidth)) / this.tileSize);\r\n }\r\n\r\n let row = Math.ceil(this.dragItem.offsetTop / this.tileSize);\r\n if (col < 1) {\r\n col = 1;\r\n }\r\n if (row < 1) {\r\n row = 1;\r\n }\r\n const widgets = Array.from(this.ref.nativeElement.querySelectorAll('.widget-host')).map((c) => c as HTMLElement);\r\n p.setAttribute(this.DATA_COL, col.toString());\r\n p.setAttribute(this.DATA_ROW, row.toString());\r\n const collision = widgets.filter(c => c !== this.dragItem).some(c => AXHtmlUtil.collision(c, this.dragItem));\r\n if (collision) {\r\n this.removePlaceholder();\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n private addPlaceholder() {\r\n this.zone.runOutsideAngular(() => {\r\n this.removePlaceholder();\r\n if (this.dragItem) {\r\n const p = document.createElement('div');\r\n p.classList.add('widget-blank-placeholder');\r\n p.setAttribute(this.DATA_COL, this.dragItem.getAttribute(this.DATA_COL));\r\n p.setAttribute(this.DATA_ROW, this.dragItem.getAttribute(this.DATA_ROW));\r\n p.setAttribute(this.DATA_SIZE_X, this.dragItem.getAttribute(this.DATA_SIZE_X));\r\n p.setAttribute(this.DATA_SIZE_Y, this.dragItem.getAttribute(this.DATA_SIZE_Y));\r\n this.container.nativeElement.appendChild(p);\r\n }\r\n });\r\n }\r\n\r\n private removePlaceholder() {\r\n const p = this.container.nativeElement.querySelector('.widget-blank-placeholder');\r\n p?.remove();\r\n }\r\n\r\n public startEdit() {\r\n this._isInEditing = true;\r\n this.calcGridSize();\r\n this.ref.nativeElement.classList.add('grid-background');\r\n const bg = this.ref.nativeElement as HTMLDivElement;\r\n bg.style.setProperty('background-position', `${this.rtl ? 'right' : 'left'} top`);\r\n // tslint:disable-next-line: max-line-length\r\n const pattern = `url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"${this.tileSize + this.gapSize}\" height=\"${this.tileSize + this.gapSize}\"> <rect style=\"fill: %23dadada\" x=\"${this.rtl ? this.gapSize : 0}\" width=\"${this.tileSize}\" height=\"${this.tileSize}\" y=\"0\"></rect></svg>')`;\r\n bg.style.setProperty('background-image', pattern);\r\n //\r\n const widgets = Array.from(this.ref.nativeElement.querySelectorAll('.widget-host'));\r\n widgets.forEach((w) => {\r\n w.addEventListener('mousedown', this.dragStart.bind(this), false);\r\n });\r\n this.ref.nativeElement.addEventListener('mousemove', this.drag.bind(this), false);\r\n this.ref.nativeElement.addEventListener('mouseup', this.dragEnd.bind(this), false);\r\n }\r\n\r\n public finishEdit() {\r\n this.ref.nativeElement.classList.remove('grid-background');\r\n const bg = this.ref.nativeElement as HTMLDivElement;\r\n bg.style.removeProperty('background-image');\r\n //\r\n this._isInEditing = false;\r\n const widgets = Array.from(this.ref.nativeElement.querySelectorAll('.widget-host'));\r\n widgets.forEach((w) => {\r\n w.removeEventListener('mousedown', this.dragStart.bind(this), false);\r\n });\r\n this.ref.nativeElement.removeEventListener('mousemove', this.drag.bind(this), false);\r\n this.ref.nativeElement.removeEventListener('mouseup', this.dragEnd.bind(this), false);\r\n this.emitConfigChanged();\r\n }\r\n\r\n\r\n addWidget(widget: AXWidgetConfig) {\r\n this.zone.runOutsideAngular(() => {\r\n this.newWidget = {\r\n uniqueName: widget.uniqueName,\r\n component: widget.component,\r\n title: widget.title,\r\n col: 1,\r\n row: 1,\r\n sizeX: widget.sizeX,\r\n sizeY: widget.sizeY,\r\n options: widget.options,\r\n props: widget.props\r\n };\r\n this.detectFirstEmptySlot(this.newWidget);\r\n const w = {\r\n uniqueName: this.newWidget.uniqueName,\r\n component: this.newWidget.component,\r\n title: this.newWidget.title,\r\n options: this.newWidget.options,\r\n props: this.newWidget.props,\r\n sizeX: this.newWidget.sizeX,\r\n sizeY: this.newWidget.sizeY,\r\n col: this.newWidget.col,\r\n row: this.newWidget.row\r\n };\r\n this.widgets.push(w);\r\n this.newWidget = null;\r\n this.zone.run(() => {\r\n this.cdr.detectChanges();\r\n this.calcGridSize();\r\n this.emitConfigChanged();\r\n setTimeout(() => {\r\n w['__meta__'].instance.element.addEventListener('mousedown', this.dragStart.bind(this), false);\r\n }, 1000);\r\n });\r\n });\r\n }\r\n\r\n\r\n handleOnRemove(w: AXWidgetHostComponent) {\r\n w.element.classList.add('animate__animated', 'animate__zoomOut');\r\n w.element.addEventListener('animationend', () => {\r\n this.widgets = this.widgets.filter((c) => (c as any).__meta__.id !== (w.config as any).__meta__.id);\r\n this.cdr.detectChanges();\r\n this.calcGridSize();\r\n this.emitConfigChanged();\r\n });\r\n }\r\n\r\n handleOnSave(e: AXWidgetConfigSavedEvent) {\r\n this.onWidgetSave.emit(e);\r\n }\r\n\r\n trackByFn(index, item) {\r\n if (!item['__meta__']?.id) {\r\n item['__meta__'] = {};\r\n item['__meta__'].id = AXHtmlUtil.getUID();\r\n }\r\n return item['__meta__']?.id;\r\n }\r\n\r\n\r\n load(widgets: string | AXWidgetConfig[]): Promise<void> {\r\n this.clear();\r\n return new Promise<void>((resolve, reject) => {\r\n if (widgets) {\r\n const loadedWidgets: AXWidgetConfig[] = [];\r\n if (typeof widgets === 'string') {\r\n try {\r\n loadedWidgets.push(...JSON.parse(widgets));\r\n } catch (error) {\r\n reject('Invalid widget json data!');\r\n }\r\n }\r\n else {\r\n loadedWidgets.push(...widgets);\r\n }\r\n let intervalId: number = -1;\r\n const loadFunc = () => {\r\n\r\n if (this.galleryItems && this.galleryItems.length > 0) {\r\n loadedWidgets.forEach(w => {\r\n const gitem = this.galleryItems.find(c => c.uniqueName === w.uniqueName);\r\n if (gitem) {\r\n w.component = gitem.component;\r\n if (gitem.props) {\r\n w.props = JSON.parse(JSON.stringify(gitem.props));\r\n }\r\n }\r\n });\r\n this.widgets.push(...loadedWidgets);\r\n window.clearInterval(intervalId);\r\n this.cdr.detectChanges();\r\n resolve();\r\n }\r\n };\r\n intervalId = window.setInterval(loadFunc, 200);\r\n }\r\n else {\r\n resolve();\r\n }\r\n });\r\n }\r\n\r\n clear() {\r\n if (this.widgets.length) {\r\n this.widgets = [];\r\n this.cdr.detectChanges();\r\n this.emitConfigChanged();\r\n }\r\n }\r\n\r\n save(): Promise<string> {\r\n const obj = this.widgets.map(c => ({\r\n uniqueName: c.uniqueName,\r\n component: c.component,\r\n title: c.title,\r\n sizeX: c.sizeX,\r\n sizeY: c.sizeY,\r\n col: c.col,\r\n row: c.row,\r\n options: c.options,\r\n props: c.props\r\n }));\r\n return Promise.resolve(JSON.stringify(obj));\r\n }\r\n\r\n refresh() {\r\n this.widgetHosts.forEach(host => {\r\n host.widget.refresh();\r\n });\r\n }\r\n\r\n handleOnConfigChanged(e: AXWidgetConfigChanged) {\r\n this.cdr.detectChanges();\r\n this.emitConfigChanged();\r\n }\r\n\r\n handleOnResizedChanged(e: AXWidgetConfigChanged) {\r\n this.detectFirstEmptySlot(e.config);\r\n this.cdr.detectChanges();\r\n this.emitConfigChanged();\r\n }\r\n\r\n private resizeChangeObserver: any;\r\n private emitConfigChanged() {\r\n if (!this.resizeChangeObserver) {\r\n this.resizeChangeObserver = new Observable();\r\n Observable.create(observer => {\r\n this.resizeChangeObserver = observer;\r\n })\r\n .pipe(debounceTime(750))\r\n .pipe(distinctUntilChanged())\r\n .subscribe(c => {\r\n this.onConfigChanged.emit({\r\n component: this\r\n });\r\n });\r\n }\r\n this.resizeChangeObserver.next(new Date());\r\n }\r\n}\r\n","import { Component, OnInit, ChangeDetectorRef } from '@angular/core';\r\nimport { AXProperyEditorComponent } from '@acorex/components';\r\n\r\n@Component({\r\n templateUrl: './widget-size.editor.html'\r\n})\r\nexport class AXWidgetSizePropertyEditorComponent extends AXProperyEditorComponent<number[]> {\r\n\r\n sizeX: number;\r\n sizeY: number;\r\n\r\n minX: number = 1;\r\n maxX: number = 10;\r\n\r\n minY: number = 1;\r\n maxY: number = 10;\r\n\r\n\r\n constructor(protected cdr: ChangeDetectorRef) {\r\n super(cdr);\r\n }\r\n\r\n ngOnInit() {\r\n if (Array.isArray(this.value)) {\r\n this.sizeX = this.value[0];\r\n this.sizeY = this.value[1];\r\n }\r\n else {\r\n this.sizeX = 2;\r\n this.sizeY = 2;\r\n }\r\n }\r\n\r\n handleMinValueChange(e: any) {\r\n this.sizeX = e.value;\r\n\r\n if (this.sizeY > 0) {\r\n super.handleValueChange([this.sizeX, this.sizeY]);\r\n }\r\n }\r\n\r\n handleMaxValueChange(e: any) {\r\n this.sizeY = e.value;\r\n if (this.sizeX > 0) {\r\n super.handleValueChange([this.sizeX, this.sizeY]);\r\n }\r\n }\r\n\r\n\r\n\r\n ngAfterViewInit() {\r\n this.initiated = true;\r\n }\r\n\r\n}","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { AXWidgetSizePropertyEditorComponent } from './widget-size.editor';\r\nimport { AXNumberBoxModule } from '@acorex/components';\r\n\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [AXWidgetSizePropertyEditorComponent],\r\n imports: [CommonModule, FormsModule, AXNumberBoxModule],\r\n exports: [AXWidgetSizePropertyEditorComponent],\r\n entryComponents: [AXWidgetSizePropertyEditorComponent],\r\n providers: [],\r\n})\r\nexport class AXWidgetSizePropertyEditorModule {\r\n constructor() {\r\n }\r\n}","import { NgModule } from '@angular/core';\r\nimport { AXWidgetBoardComponent } from './widget-board.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXWidgetHostComponent } from './widget-host.component';\r\nimport {\r\n AXSearchBoxModule,\r\n AXLoadingModule,\r\n AXProppertyEditorModule,\r\n AXPageModule, AXLabelModule,\r\n AXToolbarModule,\r\n AXTabStripModule,\r\n AXMenuModule,\r\n AXFormGroupModule,\r\n AXTextAreaModule, AXTextBoxModule, AXFieldsetModule, AXCheckBoxModule, AXValidationModule\r\n} from '@acorex/components';\r\nimport { RouterModule } from '@angular/router';\r\nimport { AXWidgetConfigComponent } from './widget-config.component';\r\nimport { AXTranslator, AXTranslatorModule } from '@acorex/core';\r\nimport { AXWidgetSizePropertyEditorComponent } from './editors/widget-size-editor/widget-size.editor';\r\nimport { AXWidgetSizePropertyEditorModule } from './editors/widget-size-editor/widget-size.module';\r\nimport { AXWidgetSaveComponent } from './widget-save.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n AXSearchBoxModule,\r\n AXLoadingModule,\r\n RouterModule,\r\n AXProppertyEditorModule,\r\n AXPageModule,\r\n AXToolbarModule,\r\n AXTranslatorModule,\r\n AXLabelModule,\r\n AXTextAreaModule,\r\n AXFieldsetModule,\r\n AXTextBoxModule,\r\n AXFormGroupModule,\r\n AXTabStripModule,\r\n AXCheckBoxModule,\r\n AXMenuModule,\r\n AXTranslatorModule,\r\n AXWidgetSizePropertyEditorModule,\r\n AXValidationModule,\r\n RouterModule.forChild([\r\n {\r\n component: AXWidgetSizePropertyEditorComponent,\r\n path: 'ax/editors/widget-size'\r\n },\r\n ])\r\n ],\r\n exports: [AXWidgetBoardComponent, AXProppertyEditorModule],\r\n declarations: [AXWidgetBoardComponent, AXWidgetHostComponent, AXWidgetConfigComponent, AXWidgetSaveComponent],\r\n entryComponents: [AXWidgetConfigComponent, AXWidgetSaveComponent],\r\n providers: []\r\n})\r\nexport class AXWidgetBoardModule {\r\n /**\r\n *\r\n */\r\n constructor() {\r\n AXTranslator.load('en', {\r\n 'widget-board': {\r\n 'configurable-props': 'Configurable Properties',\r\n configure: 'Configure Widget'\r\n }\r\n });\r\n AXTranslator.load('fa', {\r\n 'widget-board': {\r\n 'configurable-props': 'ویژگی های قابل تنظیم',\r\n configure: 'پیکر بندی ابزارک'\r\n }\r\n });\r\n\r\n }\r\n\r\n}\r\n"],"names":["AXTranslator","AXHtmlUtil","EventEmitter","propertyEditor","ChangeDetectorRef","ViewChild","AXValidationFormComponent","Component","ViewEncapsulation","ChangeDetectionStrategy","AXBasePopupPageComponent","AXObjectUtil","AXPropertyDecorators","ElementRef","ComponentFactoryResolver","AXRenderService","AXPopupService","AXLoadingService","Input","Output","ViewContainerRef","HostBinding","AXClientRec","Observable","debounceTime","distinctUntilChanged","NgZone","ViewChildren","QueryList","AXProperyEditorComponent","NgModule","CommonModule","FormsModule","AXNumberBoxModule","AXSearchBoxModule","AXLoadingModule","RouterModule","AXProppertyEditorModule","AXPageModule","AXToolbarModule","AXTranslatorModule","AXLabelModule","AXTextAreaModule","AXFieldsetModule","AXTextBoxModule","AXFormGroupModule","AXTabStripModule","AXCheckBoxModule","AXMenuModule","AXValidationModule"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"acorex-layout.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","ng://@acorex/layout/lib/widget-board/widget.class.ts","ng://@acorex/layout/lib/widget-board/widget-config.component.ts","ng://@acorex/layout/lib/widget-board/widget-save.component.ts","ng://@acorex/layout/lib/widget-board/widget-host.component.ts","ng://@acorex/layout/lib/widget-board/widget-board.component.ts","ng://@acorex/layout/lib/widget-board/editors/widget-size-editor/widget-size.editor.ts","ng://@acorex/layout/lib/widget-board/widget-board.module.ts","ng://@acorex/layout/lib/widget-board/editors/widget-size-editor/widget-size.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { EventEmitter } from '@angular/core';\r\nimport { AXValueEvent, AXBaseEvent, propertyEditor, AXDataEvent } from '@acorex/components';\r\nimport { AXHtmlUtil, AXTranslator } from '@acorex/core';\r\n\r\nexport interface AXWidgetConfig {\r\n uniqueName: string;\r\n component: any;\r\n title: string;\r\n sizeX: number;\r\n sizeY: number;\r\n col?: number;\r\n row?: number;\r\n options?: any;\r\n props?: any;\r\n}\r\n\r\nexport interface AXWidgetConfigChanged extends AXBaseEvent {\r\n config: AXWidgetConfig;\r\n}\r\n\r\n\r\n\r\nexport interface AXWidgetBoardConfigChanged extends AXBaseEvent {\r\n\r\n}\r\n\r\nexport interface AXWidgetConfigSavedEvent extends AXDataEvent<AXWidgetSaveAsData> {\r\n\r\n}\r\n\r\n\r\nexport interface AXWidgetSaveAsData {\r\n title?: string;\r\n description?: string;\r\n icon?: string;\r\n group?: string;\r\n //\r\n uniqueName: string;\r\n component: any;\r\n options?: any;\r\n props?: any;\r\n}\r\n\r\n// @dynamic\r\nexport abstract class AXWidgetComponent {\r\n\r\n readonly uid: string = AXHtmlUtil.getUID();\r\n provideValue: (e: any) => any;\r\n\r\n onBusyChanged: EventEmitter<AXValueEvent<boolean>> = new EventEmitter<AXValueEvent<boolean>>();\r\n\r\n private _isBusy: boolean = true;\r\n public get isBusy(): boolean {\r\n return this._isBusy;\r\n }\r\n public set isBusy(v: boolean) {\r\n if (v !== this._isBusy) {\r\n const eventData: AXValueEvent<boolean> = {\r\n component: this,\r\n oldValue: this._isBusy,\r\n value: v\r\n };\r\n this._isBusy = v;\r\n this.onBusyChanged.emit(eventData);\r\n }\r\n }\r\n\r\n @propertyEditor({\r\n editorClass: 'ax/editors/widget-size',\r\n title: 'common.size',\r\n visible: false,\r\n order: -99,\r\n })\r\n widgetSize: number[];\r\n\r\n @propertyEditor({\r\n editorClass: 'ax/editors/select',\r\n title: 'common.refresh-rate',\r\n visible: true,\r\n order: -98,\r\n editorOptions: {\r\n items: () => {\r\n return [1, 2, 3, 5, 10, 20, 30, 60].map(c => ({\r\n id: 60000 * c,\r\n text: AXTranslator.get('dateTime.duration.format_minute').replace('{0}', c.toString())\r\n }));\r\n },\r\n allowNull: false,\r\n allowSearch: false,\r\n selectionDataMode: 'value',\r\n selectionMode: 'single',\r\n valueField: 'id',\r\n }\r\n })\r\n refreshRate: any = [{\r\n id: 60000 * 5,\r\n text: AXTranslator.get('dateTime.duration.format_minute').replace('{0}', '5')\r\n }];\r\n\r\n // ???\r\n getRefreshRate() {\r\n return Array.isArray(this.refreshRate) && this.refreshRate.length ? this.refreshRate[0].id : this.refreshRate;\r\n }\r\n\r\n private intervalId: number;\r\n\r\n constructor() {\r\n this.onConfiguredChanged.subscribe(() => {\r\n if (this.isConfigured === true && this.getRefreshRate()) {\r\n this.restartRefreshTimer();\r\n }\r\n else {\r\n this.stopRefreshTimer();\r\n }\r\n });\r\n }\r\n\r\n\r\n private startRefreshTimer() {\r\n this.intervalId = window.setInterval(this.refresh.bind(this), this.getRefreshRate());\r\n }\r\n\r\n private stopRefreshTimer() {\r\n window.clearInterval(this.intervalId);\r\n }\r\n\r\n private restartRefreshTimer() {\r\n this.stopRefreshTimer();\r\n this.startRefreshTimer();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.stopRefreshTimer();\r\n }\r\n\r\n public redraw() {\r\n\r\n }\r\n\r\n public refresh() {\r\n this.restartRefreshTimer();\r\n }\r\n\r\n onConfiguredChanged: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n get isConfigured(): boolean {\r\n return true;\r\n }\r\n\r\n public setValue(name: string, value?: any) {\r\n this[name] = value;\r\n this.onConfiguredChanged.emit();\r\n }\r\n\r\n public getValue(name: string): Promise<any> {\r\n const val = this[name];\r\n const config = this['__meta__'].config;\r\n const runtime = config.props[name]?.runtime;\r\n if (runtime && this.provideValue) {\r\n const res = this.provideValue({\r\n name,\r\n value: val,\r\n uniqueName: config.uniqueName,\r\n options: config.options,\r\n });\r\n if (this.provideValue instanceof Promise) {\r\n return res;\r\n }\r\n else {\r\n return Promise.resolve(res);\r\n }\r\n }\r\n return Promise.resolve(val);\r\n }\r\n\r\n}","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ChangeDetectorRef, ViewChild } from '@angular/core';\r\nimport { AXPropertyConfig, AXBasePopupPageComponent, AXMenuItemClickEvent, AXProperyEditorValueChangeEvent, AXValidationFormComponent } from '@acorex/components';\r\nimport { AXButtonItem, AXTranslator } from '@acorex/core';\r\nimport { AXWidgetComponent } from './widget.class';\r\n\r\n\r\n@Component({\r\n templateUrl: './widget-config.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\n\r\nexport class AXWidgetConfigComponent extends AXBasePopupPageComponent {\r\n\r\n @ViewChild(AXValidationFormComponent) form: AXValidationFormComponent;\r\n\r\n constructor(private cdr: ChangeDetectorRef) {\r\n super();\r\n }\r\n\r\n\r\n widget: AXWidgetComponent;\r\n props: AXPropertyConfig[] = [];\r\n displayProps: AXPropertyConfig[] = [];\r\n\r\n\r\n changes: AXPropertyConfig[] = [];\r\n\r\n context: any = {};\r\n\r\n\r\n getFooterButtons(): AXButtonItem[] {\r\n return [\r\n {\r\n name: 'okay',\r\n submitBehavior: true,\r\n text: AXTranslator.get('common.confirm'),\r\n style: 'success'\r\n },\r\n {\r\n name: 'cancel',\r\n cancelBehavior: true,\r\n text: AXTranslator.get('common.cancel'),\r\n style: 'danger blank'\r\n }\r\n ];\r\n }\r\n\r\n\r\n\r\n\r\n\r\n onFooterButtonClick(e: AXMenuItemClickEvent) {\r\n if (e.name === 'cancel') {\r\n this.close();\r\n }\r\n if (e.name === 'okay') {\r\n this.form.validate().then(c => {\r\n if (c.result) {\r\n this.close(this.changes);\r\n }\r\n });\r\n }\r\n }\r\n\r\n handleValueChange(e: AXProperyEditorValueChangeEvent) {\r\n const prop = this.changes.find(c => c.property.name === e.property.name);\r\n if (prop) {\r\n prop.value = e.value;\r\n }\r\n else {\r\n this.changes.push({ property: e.property, value: e.value });\r\n }\r\n this.updateContext();\r\n }\r\n\r\n ngOnInit() {\r\n this.displayProps = this.props.filter(c => c.property.visible !== false).sort((a, b) => a.property.order - b.property.order);\r\n this.updateContext();\r\n }\r\n\r\n\r\n private updateContext() {\r\n const ctx = {};\r\n this.props.forEach(p => {\r\n ctx[p.property.name] = p.value;\r\n });\r\n this.changes.forEach(p => {\r\n ctx[p.property.name] = p.value;\r\n });\r\n this.context = ctx;\r\n }\r\n\r\n\r\n identify(index, item: AXPropertyConfig) {\r\n return item.property.name;\r\n }\r\n\r\n}","import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n\r\n} from '@angular/core';\r\nimport { AXWidgetConfig, AXWidgetSaveAsData } from './widget.class';\r\nimport { AXButtonItem, AXHtmlUtil, AXObjectUtil, AXTranslator } from '@acorex/core';\r\nimport { AXPropertyConfig, AXMenuItemClickEvent, AXBasePopupPageComponent } from '@acorex/components';\r\n\r\n\r\n\r\n@Component({\r\n templateUrl: \"./widget-save.component.html\",\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class AXWidgetSaveComponent extends AXBasePopupPageComponent {\r\n config: AXWidgetConfig;\r\n props: AXPropertyConfig[] = [];\r\n displayProps: { name: string, title: string, allow: boolean }[];\r\n\r\n data: AXWidgetSaveAsData;\r\n\r\n getFooterButtons(): AXButtonItem[] {\r\n return [\r\n {\r\n name: 'okay',\r\n submitBehavior: true,\r\n text: AXTranslator.get('common.confirm'),\r\n style: 'ax success'\r\n },\r\n {\r\n name: 'cancel',\r\n cancelBehavior: true,\r\n text: AXTranslator.get('common.cancel'),\r\n style: 'ax light'\r\n }\r\n ];\r\n }\r\n\r\n ngOnInit() {\r\n const titleProp = this.props.find(c => c.property.name === 'title' || c.property.name === 'name');\r\n const title = titleProp?.value || this.config.title;\r\n const pp: any = {};\r\n this.props?.forEach(c => {\r\n pp[c.property.name] = c.property;\r\n });\r\n this.data = {\r\n component: this.config.component,\r\n title,\r\n uniqueName: `${this.config.uniqueName}-${AXHtmlUtil.getUID()}`,\r\n options: AXObjectUtil.deepJSONClone(this.config.options),\r\n props: AXObjectUtil.deepJSONClone(pp)\r\n };\r\n this.displayProps = this.props\r\n .filter(c => c.property.visible !== false)\r\n .sort((a, b) => a.property.order - b.property.order)\r\n .map(c => ({\r\n name: c.property.name,\r\n title: c.property.title,\r\n allow: true\r\n }));\r\n }\r\n\r\n\r\n\r\n onFooterButtonClick(e: AXMenuItemClickEvent) {\r\n if (e.name === 'cancel') {\r\n this.close();\r\n }\r\n if (e.name === 'okay') {\r\n this.props.forEach(p => {\r\n const pp = this.displayProps.find(c => c.name === p.property.name);\r\n if (pp == null || !pp.allow) {\r\n let ppp = this.data.props[p.property.name];\r\n if (ppp) {\r\n ppp.visible = false;\r\n }\r\n else {\r\n ppp = { visible: false };\r\n }\r\n }\r\n });\r\n this.close(this.data);\r\n }\r\n }\r\n}","import {\r\n Component,\r\n ViewEncapsulation, Input,\r\n ElementRef, HostBinding, ComponentFactoryResolver, ViewChild,\r\n ViewContainerRef, Output, EventEmitter, ChangeDetectionStrategy,\r\n ChangeDetectorRef, ComponentRef\r\n} from '@angular/core';\r\nimport { AXWidgetConfig, AXWidgetComponent, AXWidgetConfigChanged, AXWidgetConfigSavedEvent } from './widget.class';\r\nimport { AXObjectUtil, AXRenderService } from '@acorex/core';\r\nimport { AXPopupService, AXPropertyDecorators, AXPropertyDecorator, AXLoadingService } from '@acorex/components';\r\nimport { AXWidgetConfigComponent } from './widget-config.component';\r\nimport { AXMenuItem } from '@acorex/core';\r\nimport { AXTranslator } from '@acorex/core';\r\nimport { AXWidgetSaveComponent } from './widget-save.component';\r\n\r\n\r\n\r\n\r\n\r\n@Component({\r\n selector: 'ax-widget-host',\r\n templateUrl: \"./widget-host.component.html\",\r\n host: { class: 'ax widget-host', tabindex: '0' },\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\n\r\nexport class AXWidgetHostComponent {\r\n\r\n private _widget: AXWidgetComponent;\r\n public get widget(): AXWidgetComponent {\r\n return this._widget;\r\n }\r\n\r\n _hasProps: boolean = false;\r\n\r\n\r\n _hasMenu: boolean = false;\r\n\r\n @Input()\r\n provideValue: (e: any) => any;\r\n\r\n\r\n get element(): HTMLDivElement {\r\n return this.ref.nativeElement;\r\n }\r\n\r\n\r\n configMenuItem: AXMenuItem[] = [\r\n {\r\n icon: 'far fa-ellipsis-h',\r\n items: []\r\n }\r\n ];\r\n\r\n\r\n @Output()\r\n onRemove: EventEmitter<AXWidgetHostComponent> = new EventEmitter<AXWidgetHostComponent>();\r\n\r\n @Output()\r\n onConfigChanged: EventEmitter<AXWidgetConfigChanged> = new EventEmitter<AXWidgetConfigChanged>();\r\n\r\n\r\n @Output()\r\n onResized: EventEmitter<AXWidgetConfigChanged> = new EventEmitter<AXWidgetConfigChanged>();\r\n\r\n @Output()\r\n onSave: EventEmitter<AXWidgetConfigSavedEvent> = new EventEmitter<AXWidgetConfigSavedEvent>();\r\n\r\n @Input()\r\n config: AXWidgetConfig;\r\n\r\n @ViewChild('vc', { read: ViewContainerRef })\r\n vc: ViewContainerRef;\r\n\r\n private componentRef: ComponentRef<any>;\r\n //private isLoading: boolean = true;\r\n\r\n // get isBusy() {\r\n // return this._widget?.isBusy || this.isLoading;\r\n // }\r\n\r\n\r\n private _loadingId: number;\r\n\r\n private _isLoading: boolean = false;\r\n public get isLoading(): boolean {\r\n return this._isLoading;\r\n }\r\n public set isLoading(v: boolean) {\r\n this._isLoading = v;\r\n if (this._loadingId && !v) {\r\n this.loadingService.hide(this._loadingId);\r\n this._loadingId = null;\r\n }\r\n if (v) {\r\n this._loadingId = this.loadingService.show(this.ref.nativeElement);\r\n }\r\n }\r\n\r\n\r\n get isConfigured(): boolean {\r\n return this._widget?.isConfigured || false;\r\n }\r\n\r\n\r\n constructor(\r\n private ref: ElementRef<HTMLDivElement>,\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private rendererService: AXRenderService,\r\n private cdr: ChangeDetectorRef,\r\n private popup: AXPopupService,\r\n private loadingService: AXLoadingService\r\n\r\n ) {\r\n\r\n }\r\n\r\n\r\n ngOnInit() {\r\n this.isLoading = true;\r\n }\r\n\r\n\r\n async ngAfterViewInit() {\r\n let component: any;\r\n if (typeof this.config.component === 'string') {\r\n const route = await this.rendererService.findLoadedComponentByRoute(this.config.component, 20);\r\n component = route?.component;\r\n }\r\n else if (typeof this.config.component === 'function') {\r\n component = this.config.component;\r\n }\r\n if (component == null) {\r\n console.error(`Invalid Widget Component!`, this.config);\r\n this.onRemove.emit(this);\r\n return;\r\n }\r\n\r\n const widgetFactory = this.componentFactoryResolver.resolveComponentFactory(component);\r\n this.componentRef = this.vc.createComponent(widgetFactory);\r\n this._widget = this.componentRef.instance as AXWidgetComponent;\r\n this._widget.provideValue = this.provideValue;\r\n if (this._widget.onBusyChanged) {\r\n this._widget.onBusyChanged.subscribe((d) => {\r\n if (!this._widget.widgetSize) {\r\n this._widget.setValue('widgetSize', [this.sizeX, this.sizeY]);\r\n }\r\n else {\r\n this.setSizeFromOptions();\r\n }\r\n this.isLoading = d.value;\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n if (this._widget.onConfiguredChanged) {\r\n this._widget.onConfiguredChanged.subscribe(() => {\r\n this.setSizeFromOptions();\r\n });\r\n }\r\n //\r\n if (this.config.options) {\r\n Object.assign(this._widget, this.config.options);\r\n }\r\n this._hasProps = AXPropertyDecorators.getProperties(this._widget).length > 0;\r\n\r\n this.isLoading = false;\r\n this.config['__meta__'].instance = this;\r\n this._widget['__meta__'] = {};\r\n this._widget['__meta__'].config = this.config;\r\n //\r\n this.configMenuItem[0].items.push({\r\n name: 'refresh',\r\n icon: 'far fa-undo',\r\n text: AXTranslator.get('common.refresh'),\r\n onClick: () => {\r\n this?.widget?.refresh();\r\n }\r\n });\r\n //\r\n if (this._hasProps) {\r\n this.configMenuItem[0].items.push({\r\n name: 'configs',\r\n icon: 'far fa-cogs',\r\n text: AXTranslator.get('common.configs'),\r\n onClick: () => {\r\n this.openConfigDialog();\r\n }\r\n });\r\n }\r\n this.configMenuItem[0].items.push({\r\n name: 'save',\r\n icon: 'far fa-save',\r\n text: AXTranslator.get('common.save-as'),\r\n onClick: () => {\r\n this.openSaveDialog();\r\n }\r\n });\r\n if (true) {\r\n this.configMenuItem[0].items.push({\r\n name: 'remove',\r\n icon: 'far fa-times',\r\n style: 'ax danger blank',\r\n text: AXTranslator.get('common.remove'),\r\n onClick: () => {\r\n this.onRemove.emit(this);\r\n }\r\n });\r\n }\r\n this._hasMenu = this.configMenuItem[0].items.length > 0;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n @HostBinding('attr.data-size-x')\r\n @Input()\r\n sizeX: number = 1;\r\n\r\n @HostBinding('attr.data-size-y')\r\n @Input()\r\n sizeY: number = 1;\r\n\r\n @HostBinding('attr.data-col')\r\n @Input()\r\n col: number = 1;\r\n\r\n\r\n @HostBinding('attr.data-row')\r\n @Input()\r\n row: number = 1;\r\n\r\n\r\n private setSizeFromOptions() {\r\n this._widget.getValue('widgetSize').then(c => {\r\n const oldSizeX = this.sizeX;\r\n const oldSizeY = this.sizeY;\r\n if (c && Array.isArray(c) && (oldSizeX !== c[0] || oldSizeY !== c[1])) {\r\n this.config.sizeX = this.sizeX = c[0];\r\n this.config.sizeY = this.sizeY = c[1];\r\n this.onResized.emit({\r\n component: this._widget,\r\n config: this.config\r\n });\r\n }\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n\r\n remove(e: MouseEvent) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this.onRemove.emit(this);\r\n return false;\r\n }\r\n\r\n handleConfig(e: MouseEvent) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this.openConfigDialog();\r\n return false;\r\n }\r\n\r\n private openConfigDialog() {\r\n const ppp = this.getMergedProps();\r\n this.popup.open(AXWidgetConfigComponent, {\r\n title: AXTranslator.get('common.configs'),\r\n size: 'sm',\r\n data: {\r\n props: ppp.map(c => ({ property: c.options, value: this._widget[c.options.name] })),\r\n widget: this.widget\r\n }\r\n }).then(c => {\r\n if (c.data) {\r\n if (!this.config.options) {\r\n this.config.options = {};\r\n }\r\n c.data.forEach(p => {\r\n this._widget.setValue(p.property.name, p.value);\r\n this.config.options[p.property.name] = p.value;\r\n });\r\n this.emitConfigChanged();\r\n this._widget.redraw();\r\n this.cdr.detectChanges();\r\n }\r\n });\r\n }\r\n\r\n private openSaveDialog() {\r\n const ppp = this.getMergedProps();\r\n this.popup.open(AXWidgetSaveComponent, {\r\n title: AXTranslator.get('common.save-as'),\r\n size: 'sm',\r\n data: {\r\n config: this.config,\r\n props: ppp.map(c => ({ property: c.options, value: this._widget[c.options.name] }))\r\n }\r\n }).then(c => {\r\n if (c.data) {\r\n this.onSave.emit({\r\n component: this._widget,\r\n data: c.data\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n handleOptionClick(e: MouseEvent) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this.openConfigDialog();\r\n return false;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.vc.clear();\r\n if (this.componentRef) {\r\n this.componentRef.destroy();\r\n }\r\n }\r\n\r\n private getMergedProps(): AXPropertyDecorator[] {\r\n const ppp = AXObjectUtil.deepCopy(AXPropertyDecorators.getProperties(this._widget)) as AXPropertyDecorator[];\r\n for (const key in this.config.props) {\r\n if (Object.prototype.hasOwnProperty.call(this.config.props, key)) {\r\n const newP = this.config.props[key];\r\n const existPropDec = ppp.find(p => p.property === key);\r\n if (existPropDec) {\r\n Object.assign(existPropDec.options, newP);\r\n }\r\n }\r\n }\r\n return ppp;\r\n }\r\n\r\n private emitConfigChanged() {\r\n this.onConfigChanged.emit({\r\n component: this._widget,\r\n config: this.config\r\n });\r\n }\r\n\r\n}","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n ViewEncapsulation,\r\n ElementRef,\r\n ViewChild,\r\n NgZone,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Output,\r\n EventEmitter, ViewChildren, QueryList\r\n} from '@angular/core';\r\nimport {\r\n AXWidgetConfig,\r\n AXWidgetConfigChanged,\r\n AXWidgetBoardConfigChanged,\r\n AXWidgetConfigSavedEvent\r\n} from './widget.class';\r\nimport { AXWidgetHostComponent } from './widget-host.component';\r\nimport { AXHtmlUtil, AXClientRec } from '@acorex/core';\r\nimport { Observable } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'ax-widget-board',\r\n templateUrl: './widget-board.component.html',\r\n styleUrls: ['./widget-board.component.scss'],\r\n host: { class: 'ax widget-board' },\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class AXWidgetBoardComponent implements OnInit {\r\n\r\n @ViewChild('container')\r\n private container: ElementRef<HTMLDivElement>;\r\n\r\n @ViewChildren(AXWidgetHostComponent)\r\n private widgetHosts: QueryList<AXWidgetHostComponent>;\r\n\r\n widgets: AXWidgetConfig[] = [];\r\n\r\n @Input()\r\n galleryItems: AXWidgetConfig[] = [];\r\n\r\n @Input()\r\n tileSize: number = 80;\r\n\r\n @Input()\r\n gapSize: number = 5;\r\n\r\n private newWidget: AXWidgetConfig = null;\r\n\r\n public rtl: boolean;\r\n\r\n private _isInEditing: boolean = false;\r\n public isInEditing(): boolean {\r\n return this._isInEditing;\r\n }\r\n private isDragging: boolean = false;\r\n private dragItem: HTMLElement;\r\n\r\n @Input()\r\n provideValue: (e: any) => any;\r\n\r\n private readonly DATA_COL = 'data-col';\r\n private readonly DATA_ROW = 'data-row';\r\n private readonly DATA_SIZE_X = 'data-size-x';\r\n private readonly DATA_SIZE_Y = 'data-size-y';\r\n private readonly DATA_OLD_COL = 'data-old-col';\r\n private readonly DATA_OLD_ROW = 'data-old-row';\r\n\r\n\r\n @Output()\r\n onConfigChanged: EventEmitter<AXWidgetBoardConfigChanged> = new EventEmitter<AXWidgetBoardConfigChanged>();\r\n\r\n @Output()\r\n onWidgetSave: EventEmitter<AXWidgetConfigSavedEvent> = new EventEmitter<AXWidgetConfigSavedEvent>();\r\n\r\n constructor(\r\n private ref: ElementRef<HTMLDivElement>,\r\n private zone: NgZone,\r\n private cdr: ChangeDetectorRef\r\n ) { }\r\n\r\n\r\n ngOnInit() {\r\n if (this.rtl == null) {\r\n this.rtl = window.getComputedStyle(this.ref.nativeElement, null).getPropertyValue('direction') === 'rtl';\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.zone.runOutsideAngular((c) => {\r\n const style = document.createElement('style');\r\n style.type = 'text/css';\r\n this.ref.nativeElement.appendChild(style);\r\n // add css data classes\r\n for (let i = 1; i <= 50; i++) {\r\n style.innerHTML += `[${this.DATA_COL}=\"${i}\"] { ${this.rtl ? 'right' : 'left'}: ${(i - 1) * (this.tileSize + this.gapSize)}px; }`;\r\n style.innerHTML += `[${this.DATA_ROW}=\"${i}\"] { top: ${(i - 1) * (this.tileSize + this.gapSize)}px; }`;\r\n style.innerHTML += `[${this.DATA_SIZE_X}=\"${i}\"] { width: ${(i * this.tileSize) + ((i - 1) * this.gapSize)}px; }`;\r\n style.innerHTML += `[${this.DATA_SIZE_Y}=\"${i}\"] { height: ${(i * this.tileSize) + ((i - 1) * this.gapSize)}px; }`;\r\n }\r\n });\r\n }\r\n\r\n private calcGridSize() {\r\n this.zone.runOutsideAngular(() => {\r\n const width =\r\n (Math.max(...this.widgets.map((c) => c.col + c.sizeX - 1))) * (this.tileSize + this.gapSize);\r\n const height =\r\n (Math.max(...this.widgets.map((c) => c.row + c.sizeY - 1))) * (this.tileSize + this.gapSize);\r\n this.container.nativeElement.style.width = width + 'px';\r\n this.container.nativeElement.style.height = height + 'px';\r\n });\r\n }\r\n\r\n toggleEdit() {\r\n this._isInEditing ? this.finishEdit() : this.startEdit();\r\n }\r\n\r\n\r\n\r\n private dragStart(e: MouseEvent) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this.zone.runOutsideAngular(() => {\r\n if (this._isInEditing && e.which === 1) {\r\n this.dragItem = e.currentTarget as any;\r\n this.dragItem.setAttribute('data-x-offset', (this.dragItem.offsetLeft - e.clientX).toString());\r\n //\r\n this.dragItem.setAttribute('data-y-offset', (this.dragItem.offsetTop - e.clientY).toString());\r\n this.dragItem.classList.add('widget-dragging');\r\n this.dragItem.classList.remove('animate__animated', 'animate__pulse');\r\n }\r\n });\r\n return false;\r\n }\r\n\r\n removePositionData() {\r\n this.zone.runOutsideAngular(() => {\r\n if (this.dragItem && this._isInEditing && this.dragItem.getAttribute(this.DATA_OLD_COL) == null) {\r\n this.dragItem.setAttribute(this.DATA_OLD_COL, this.dragItem.getAttribute(this.DATA_COL));\r\n this.dragItem.setAttribute(this.DATA_OLD_ROW, this.dragItem.getAttribute(this.DATA_ROW));\r\n this.dragItem.removeAttribute(this.DATA_COL);\r\n this.dragItem.removeAttribute(this.DATA_ROW);\r\n }\r\n });\r\n }\r\n\r\n resetPositionData() {\r\n this.zone.runOutsideAngular(() => {\r\n if (this.dragItem && this._isInEditing) {\r\n this.setPosition(this.dragItem, this.dragItem.getAttribute(this.DATA_OLD_COL), this.dragItem.getAttribute(this.DATA_OLD_ROW));\r\n }\r\n });\r\n }\r\n\r\n private setPosition(element: HTMLElement, col: string, row: string) {\r\n this.zone.runOutsideAngular(() => {\r\n element.setAttribute(this.DATA_COL, col);\r\n element.setAttribute(this.DATA_ROW, row);\r\n element.removeAttribute(this.DATA_OLD_COL);\r\n element.removeAttribute(this.DATA_OLD_ROW);\r\n element.style.removeProperty('top');\r\n element.style.removeProperty('left');\r\n const widget = this.widgets.find(c => c['__meta__'].instance.element === element);\r\n widget.col = Number(col);\r\n widget.row = Number(row);\r\n });\r\n }\r\n\r\n private drag(e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this.zone.runOutsideAngular(() => {\r\n if (this.dragItem && this._isInEditing) {\r\n this.isDragging = true;\r\n this.addPlaceholder();\r\n const xOffset = Number(this.dragItem.getAttribute('data-x-offset'));\r\n const yOffset = Number(this.dragItem.getAttribute('data-y-offset'));\r\n this.dragItem.style.left = e.clientX + xOffset + 'px';\r\n this.dragItem.style.top = e.clientY + yOffset + 'px';\r\n //\r\n this.detectBestPlacement();\r\n this.removePositionData();\r\n }\r\n });\r\n return false;\r\n }\r\n\r\n private dragEnd(e) {\r\n this.zone.runOutsideAngular(() => {\r\n if (this.dragItem && this._isInEditing && this.isDragging) {\r\n this.dragItem.classList.remove('widget-dragging');\r\n this.dragItem.classList.add('animate__animated', 'animate__pulse');\r\n //\r\n const p = this.container.nativeElement.querySelector('.widget-blank-placeholder');\r\n if (this.newWidget) {\r\n const w = {\r\n uniqueName: this.newWidget.uniqueName,\r\n component: this.newWidget.component,\r\n title: this.newWidget.title,\r\n options: this.newWidget.options,\r\n sizeX: this.newWidget.sizeX,\r\n sizeY: this.newWidget.sizeY,\r\n col: Number(p.getAttribute(this.DATA_COL)),\r\n row: Number(p.getAttribute(this.DATA_ROW))\r\n };\r\n\r\n this.widgets.push(w);\r\n this.newWidget = null;\r\n this.container.nativeElement.removeChild(this.dragItem);\r\n this.zone.run(() => {\r\n this.cdr.detectChanges();\r\n this.calcGridSize();\r\n setTimeout(() => {\r\n w['__meta__'].instance.element.addEventListener('mousedown', this.dragStart.bind(this), false);\r\n }, 1000);\r\n });\r\n } else {\r\n if (p) {\r\n this.setPosition(this.dragItem, p.getAttribute(this.DATA_COL), p.getAttribute(this.DATA_ROW));\r\n }\r\n else {\r\n this.setPosition(this.dragItem, this.dragItem.getAttribute(this.DATA_OLD_COL), this.dragItem.getAttribute(this.DATA_OLD_ROW));\r\n }\r\n }\r\n //\r\n this.removePlaceholder();\r\n this.dragItem = null;\r\n this.calcGridSize();\r\n this.emitConfigChanged();\r\n }\r\n this.isDragging = false;\r\n });\r\n }\r\n\r\n private detectFirstEmptySlot(w: AXWidgetConfig) {\r\n const xTile = Math.floor(this.ref.nativeElement.parentElement.offsetWidth / this.tileSize);\r\n for (let j = 1; j <= 100; j++) {\r\n for (let i = 1; i <= xTile - w.sizeX; i++) {\r\n const rec = new AXClientRec({\r\n left: i,\r\n top: j,\r\n width: w.sizeX,\r\n height: w.sizeY\r\n });\r\n const el = this.widgets.filter(c => c !== w).find((c) =>\r\n rec.intersect({\r\n left: c.col,\r\n top: c.row,\r\n width: c.sizeX,\r\n height: c.sizeY\r\n })\r\n );\r\n if (el == null) {\r\n w.col = i;\r\n w.row = j;\r\n return;\r\n }\r\n }\r\n }\r\n }\r\n\r\n private detectBestPlacement() {\r\n this.zone.runOutsideAngular(() => {\r\n const p = this.container.nativeElement.querySelector('.widget-blank-placeholder') as HTMLElement;\r\n let col = Math.ceil(this.dragItem.offsetLeft / this.tileSize);\r\n if (this.rtl) {\r\n col = Math.ceil((this.container.nativeElement.clientWidth - (this.dragItem.offsetLeft + this.dragItem.clientWidth)) / this.tileSize);\r\n }\r\n\r\n let row = Math.ceil(this.dragItem.offsetTop / this.tileSize);\r\n if (col < 1) {\r\n col = 1;\r\n }\r\n if (row < 1) {\r\n row = 1;\r\n }\r\n const widgets = Array.from(this.ref.nativeElement.querySelectorAll('.widget-host')).map((c) => c as HTMLElement);\r\n p.setAttribute(this.DATA_COL, col.toString());\r\n p.setAttribute(this.DATA_ROW, row.toString());\r\n const collision = widgets.filter(c => c !== this.dragItem).some(c => AXHtmlUtil.collision(c, this.dragItem));\r\n if (collision) {\r\n this.removePlaceholder();\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n private addPlaceholder() {\r\n this.zone.runOutsideAngular(() => {\r\n this.removePlaceholder();\r\n if (this.dragItem) {\r\n const p = document.createElement('div');\r\n p.classList.add('widget-blank-placeholder');\r\n p.setAttribute(this.DATA_COL, this.dragItem.getAttribute(this.DATA_COL));\r\n p.setAttribute(this.DATA_ROW, this.dragItem.getAttribute(this.DATA_ROW));\r\n p.setAttribute(this.DATA_SIZE_X, this.dragItem.getAttribute(this.DATA_SIZE_X));\r\n p.setAttribute(this.DATA_SIZE_Y, this.dragItem.getAttribute(this.DATA_SIZE_Y));\r\n this.container.nativeElement.appendChild(p);\r\n }\r\n });\r\n }\r\n\r\n private removePlaceholder() {\r\n const p = this.container.nativeElement.querySelector('.widget-blank-placeholder');\r\n p?.remove();\r\n }\r\n\r\n public startEdit() {\r\n this._isInEditing = true;\r\n this.calcGridSize();\r\n this.ref.nativeElement.classList.add('grid-background');\r\n const bg = this.ref.nativeElement as HTMLDivElement;\r\n bg.style.setProperty('background-position', `${this.rtl ? 'right' : 'left'} top`);\r\n // tslint:disable-next-line: max-line-length\r\n const pattern = `url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"${this.tileSize + this.gapSize}\" height=\"${this.tileSize + this.gapSize}\"> <rect style=\"fill: %23dadada\" x=\"${this.rtl ? this.gapSize : 0}\" width=\"${this.tileSize}\" height=\"${this.tileSize}\" y=\"0\"></rect></svg>')`;\r\n bg.style.setProperty('background-image', pattern);\r\n //\r\n const widgets = Array.from(this.ref.nativeElement.querySelectorAll('.widget-host'));\r\n widgets.forEach((w) => {\r\n w.addEventListener('mousedown', this.dragStart.bind(this), false);\r\n });\r\n this.ref.nativeElement.addEventListener('mousemove', this.drag.bind(this), false);\r\n this.ref.nativeElement.addEventListener('mouseup', this.dragEnd.bind(this), false);\r\n }\r\n\r\n public finishEdit() {\r\n this.ref.nativeElement.classList.remove('grid-background');\r\n const bg = this.ref.nativeElement as HTMLDivElement;\r\n bg.style.removeProperty('background-image');\r\n //\r\n this._isInEditing = false;\r\n const widgets = Array.from(this.ref.nativeElement.querySelectorAll('.widget-host'));\r\n widgets.forEach((w) => {\r\n w.removeEventListener('mousedown', this.dragStart.bind(this), false);\r\n });\r\n this.ref.nativeElement.removeEventListener('mousemove', this.drag.bind(this), false);\r\n this.ref.nativeElement.removeEventListener('mouseup', this.dragEnd.bind(this), false);\r\n this.emitConfigChanged();\r\n }\r\n\r\n\r\n addWidget(widget: AXWidgetConfig) {\r\n this.zone.runOutsideAngular(() => {\r\n this.newWidget = {\r\n uniqueName: widget.uniqueName,\r\n component: widget.component,\r\n title: widget.title,\r\n col: 1,\r\n row: 1,\r\n sizeX: widget.sizeX,\r\n sizeY: widget.sizeY,\r\n options: widget.options,\r\n props: widget.props\r\n };\r\n this.detectFirstEmptySlot(this.newWidget);\r\n const w = {\r\n uniqueName: this.newWidget.uniqueName,\r\n component: this.newWidget.component,\r\n title: this.newWidget.title,\r\n options: this.newWidget.options,\r\n props: this.newWidget.props,\r\n sizeX: this.newWidget.sizeX,\r\n sizeY: this.newWidget.sizeY,\r\n col: this.newWidget.col,\r\n row: this.newWidget.row\r\n };\r\n this.widgets.push(w);\r\n this.newWidget = null;\r\n this.zone.run(() => {\r\n this.cdr.detectChanges();\r\n this.calcGridSize();\r\n this.emitConfigChanged();\r\n setTimeout(() => {\r\n w['__meta__'].instance.element.addEventListener('mousedown', this.dragStart.bind(this), false);\r\n }, 1000);\r\n });\r\n });\r\n }\r\n\r\n\r\n handleOnRemove(w: AXWidgetHostComponent) {\r\n w.element.classList.add('animate__animated', 'animate__zoomOut');\r\n w.element.addEventListener('animationend', () => {\r\n this.widgets = this.widgets.filter((c) => (c as any).__meta__.id !== (w.config as any).__meta__.id);\r\n this.cdr.detectChanges();\r\n this.calcGridSize();\r\n this.emitConfigChanged();\r\n });\r\n }\r\n\r\n handleOnSave(e: AXWidgetConfigSavedEvent) {\r\n this.onWidgetSave.emit(e);\r\n }\r\n\r\n trackByFn(index, item) {\r\n if (!item['__meta__']?.id) {\r\n item['__meta__'] = {};\r\n item['__meta__'].id = AXHtmlUtil.getUID();\r\n }\r\n return item['__meta__']?.id;\r\n }\r\n\r\n\r\n load(widgets: string | AXWidgetConfig[]): Promise<void> {\r\n this.clear();\r\n return new Promise<void>((resolve, reject) => {\r\n if (widgets) {\r\n const loadedWidgets: AXWidgetConfig[] = [];\r\n if (typeof widgets === 'string') {\r\n try {\r\n loadedWidgets.push(...JSON.parse(widgets));\r\n } catch (error) {\r\n reject('Invalid widget json data!');\r\n }\r\n }\r\n else {\r\n loadedWidgets.push(...widgets);\r\n }\r\n let intervalId: number = -1;\r\n const loadFunc = () => {\r\n\r\n if (this.galleryItems && this.galleryItems.length > 0) {\r\n loadedWidgets.forEach(w => {\r\n const gitem = this.galleryItems.find(c => c.uniqueName === w.uniqueName);\r\n if (gitem) {\r\n w.component = gitem.component;\r\n if (gitem.props) {\r\n w.props = JSON.parse(JSON.stringify(gitem.props));\r\n }\r\n }\r\n });\r\n this.widgets.push(...loadedWidgets);\r\n window.clearInterval(intervalId);\r\n this.cdr.detectChanges();\r\n resolve();\r\n }\r\n };\r\n intervalId = window.setInterval(loadFunc, 200);\r\n }\r\n else {\r\n resolve();\r\n }\r\n });\r\n }\r\n\r\n clear() {\r\n if (this.widgets.length) {\r\n this.widgets = [];\r\n this.cdr.detectChanges();\r\n this.emitConfigChanged();\r\n }\r\n }\r\n\r\n save(): Promise<string> {\r\n const obj = this.widgets.map(c => ({\r\n uniqueName: c.uniqueName,\r\n component: c.component,\r\n title: c.title,\r\n sizeX: c.sizeX,\r\n sizeY: c.sizeY,\r\n col: c.col,\r\n row: c.row,\r\n options: c.options,\r\n props: c.props\r\n }));\r\n return Promise.resolve(JSON.stringify(obj));\r\n }\r\n\r\n refresh() {\r\n this.widgetHosts.forEach(host => {\r\n host.widget.refresh();\r\n });\r\n }\r\n\r\n handleOnConfigChanged(e: AXWidgetConfigChanged) {\r\n this.cdr.detectChanges();\r\n this.emitConfigChanged();\r\n }\r\n\r\n handleOnResizedChanged(e: AXWidgetConfigChanged) {\r\n this.detectFirstEmptySlot(e.config);\r\n this.cdr.detectChanges();\r\n this.emitConfigChanged();\r\n }\r\n\r\n private resizeChangeObserver: any;\r\n private emitConfigChanged() {\r\n if (!this.resizeChangeObserver) {\r\n this.resizeChangeObserver = new Observable();\r\n Observable.create(observer => {\r\n this.resizeChangeObserver = observer;\r\n })\r\n .pipe(debounceTime(750))\r\n .pipe(distinctUntilChanged())\r\n .subscribe(c => {\r\n this.onConfigChanged.emit({\r\n component: this\r\n });\r\n });\r\n }\r\n this.resizeChangeObserver.next(new Date());\r\n }\r\n}\r\n","import { Component, OnInit, ChangeDetectorRef } from '@angular/core';\r\nimport { AXProperyEditorComponent } from '@acorex/components';\r\n\r\n@Component({\r\n templateUrl: './widget-size.editor.html'\r\n})\r\nexport class AXWidgetSizePropertyEditorComponent extends AXProperyEditorComponent<number[]> {\r\n\r\n sizeX: number;\r\n sizeY: number;\r\n\r\n minX: number = 1;\r\n maxX: number = 10;\r\n\r\n minY: number = 1;\r\n maxY: number = 10;\r\n\r\n\r\n constructor(protected cdr: ChangeDetectorRef) {\r\n super(cdr);\r\n }\r\n\r\n ngOnInit() {\r\n if (Array.isArray(this.value)) {\r\n this.sizeX = this.value[0];\r\n this.sizeY = this.value[1];\r\n }\r\n else {\r\n this.sizeX = 2;\r\n this.sizeY = 2;\r\n }\r\n }\r\n\r\n handleMinValueChange(e: any) {\r\n this.sizeX = e.value;\r\n\r\n if (this.sizeY > 0) {\r\n super.handleValueChange([this.sizeX, this.sizeY]);\r\n }\r\n }\r\n\r\n handleMaxValueChange(e: any) {\r\n this.sizeY = e.value;\r\n if (this.sizeX > 0) {\r\n super.handleValueChange([this.sizeX, this.sizeY]);\r\n }\r\n }\r\n\r\n\r\n\r\n ngAfterViewInit() {\r\n this.onRenderCompleted.emit();\r\n }\r\n\r\n}","import { NgModule } from '@angular/core';\r\nimport { AXWidgetBoardComponent } from './widget-board.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXWidgetHostComponent } from './widget-host.component';\r\nimport {\r\n AXSearchBoxModule,\r\n AXLoadingModule,\r\n AXProppertyEditorModule,\r\n AXPageModule, AXLabelModule,\r\n AXToolbarModule,\r\n AXTabStripModule,\r\n AXMenuModule,\r\n AXFormGroupModule,\r\n AXTextAreaModule, AXTextBoxModule, AXFieldsetModule, AXCheckBoxModule, AXValidationModule\r\n} from '@acorex/components';\r\nimport { RouterModule } from '@angular/router';\r\nimport { AXWidgetConfigComponent } from './widget-config.component';\r\nimport { AXTranslator, AXTranslatorModule } from '@acorex/core';\r\nimport { AXWidgetSizePropertyEditorComponent } from './editors/widget-size-editor/widget-size.editor';\r\nimport { AXWidgetSizePropertyEditorModule } from './editors/widget-size-editor/widget-size.module';\r\nimport { AXWidgetSaveComponent } from './widget-save.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n AXSearchBoxModule,\r\n AXLoadingModule,\r\n RouterModule,\r\n AXProppertyEditorModule,\r\n AXPageModule,\r\n AXToolbarModule,\r\n AXTranslatorModule,\r\n AXLabelModule,\r\n AXTextAreaModule,\r\n AXFieldsetModule,\r\n AXTextBoxModule,\r\n AXFormGroupModule,\r\n AXTabStripModule,\r\n AXCheckBoxModule,\r\n AXMenuModule,\r\n AXTranslatorModule,\r\n AXValidationModule,\r\n RouterModule.forChild([\r\n {\r\n component: AXWidgetSizePropertyEditorComponent,\r\n path: 'ax/editors/widget-size'\r\n },\r\n ])\r\n ],\r\n exports: [AXWidgetBoardComponent, AXProppertyEditorModule],\r\n declarations: [AXWidgetBoardComponent, AXWidgetHostComponent, AXWidgetConfigComponent, AXWidgetSaveComponent],\r\n entryComponents: [AXWidgetConfigComponent, AXWidgetSaveComponent],\r\n providers: []\r\n})\r\nexport class AXWidgetBoardModule {\r\n /**\r\n *\r\n */\r\n constructor() {\r\n AXTranslator.load('en', {\r\n 'widget-board': {\r\n 'configurable-props': 'Configurable Properties',\r\n configure: 'Configure Widget'\r\n }\r\n });\r\n AXTranslator.load('fa', {\r\n 'widget-board': {\r\n 'configurable-props': 'ویژگی های قابل تنظیم',\r\n configure: 'پیکر بندی ابزارک'\r\n }\r\n });\r\n\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { AXWidgetSizePropertyEditorComponent } from './widget-size.editor';\r\nimport { AXNumberBoxModule } from '@acorex/components';\r\n\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [AXWidgetSizePropertyEditorComponent],\r\n imports: [CommonModule, FormsModule, AXNumberBoxModule],\r\n exports: [AXWidgetSizePropertyEditorComponent],\r\n entryComponents: [AXWidgetSizePropertyEditorComponent],\r\n providers: [],\r\n})\r\nexport class AXWidgetSizePropertyEditorModule {\r\n \r\n}"],"names":["AXTranslator","AXHtmlUtil","EventEmitter","propertyEditor","ChangeDetectorRef","ViewChild","AXValidationFormComponent","Component","ViewEncapsulation","ChangeDetectionStrategy","AXBasePopupPageComponent","AXObjectUtil","AXPropertyDecorators","ElementRef","ComponentFactoryResolver","AXRenderService","AXPopupService","AXLoadingService","Input","Output","ViewContainerRef","HostBinding","AXClientRec","Observable","debounceTime","distinctUntilChanged","NgZone","ViewChildren","QueryList","AXProperyEditorComponent","NgModule","CommonModule","AXSearchBoxModule","AXLoadingModule","RouterModule","AXProppertyEditorModule","AXPageModule","AXToolbarModule","AXTranslatorModule","AXLabelModule","AXTextAreaModule","AXFieldsetModule","AXTextBoxModule","AXFormGroupModule","AXTabStripModule","AXCheckBoxModule","AXMenuModule","AXValidationModule","FormsModule","AXNumberBoxModule"],"mappings":"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"}
|