@acorex/platform 19.2.17 → 19.2.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/common/lib/search/search-definition.builder.d.ts +0 -1
- package/common/lib/search/search.types.d.ts +12 -0
- package/common/lib/utils/filter-cleaner.d.ts +2 -0
- package/common/lib/utils/index.d.ts +1 -0
- package/core/lib/directives/dbl-click.directive.d.ts +11 -0
- package/core/lib/directives/index.d.ts +1 -0
- package/core/lib/types.d.ts +8 -0
- package/fesm2022/acorex-platform-common.mjs +25 -9
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +41 -2
- package/fesm2022/acorex-platform-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs +8 -8
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +103 -96
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-search.mjs +33 -11
- package/fesm2022/acorex-platform-layout-search.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-pcNF_wd0.mjs → acorex-platform-themes-default-entity-master-create-view.component-LKhN00ob.mjs} +3 -3
- package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-pcNF_wd0.mjs.map → acorex-platform-themes-default-entity-master-create-view.component-LKhN00ob.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-DbHEBpPW.mjs → acorex-platform-themes-default-entity-master-list-view.component-CdC4eF25.mjs} +20 -60
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-CdC4eF25.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-DOPzt7dM.mjs → acorex-platform-themes-default-entity-master-modify-view.component-B9TUh-2S.mjs} +3 -3
- package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-DOPzt7dM.mjs.map → acorex-platform-themes-default-entity-master-modify-view.component-B9TUh-2S.mjs.map} +1 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-ZfUaIxUa.mjs +135 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-ZfUaIxUa.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-error-401.component-Brx-zHqH.mjs → acorex-platform-themes-default-error-401.component-Ycz5LYvk.mjs} +2 -2
- package/fesm2022/{acorex-platform-themes-default-error-401.component-Brx-zHqH.mjs.map → acorex-platform-themes-default-error-401.component-Ycz5LYvk.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-default-error-404.component-C8mJP9D8.mjs → acorex-platform-themes-default-error-404.component-DvVSMoRS.mjs} +2 -2
- package/fesm2022/{acorex-platform-themes-default-error-404.component-C8mJP9D8.mjs.map → acorex-platform-themes-default-error-404.component-DvVSMoRS.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-default-error-offline.component-CwBClgcf.mjs → acorex-platform-themes-default-error-offline.component-DU6dstng.mjs} +2 -2
- package/fesm2022/{acorex-platform-themes-default-error-offline.component-CwBClgcf.mjs.map → acorex-platform-themes-default-error-offline.component-DU6dstng.mjs.map} +1 -1
- package/fesm2022/acorex-platform-themes-default-search-popup.component-CGARdU4C.mjs +128 -0
- package/fesm2022/acorex-platform-themes-default-search-popup.component-CGARdU4C.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-setting-page.component-Cd2yaPEZ.mjs +74 -0
- package/fesm2022/acorex-platform-themes-default-setting-page.component-Cd2yaPEZ.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-theme-palette-preview.page-DiDSZx-u.mjs → acorex-platform-themes-default-theme-palette-preview.page-DqAngWCf.mjs} +3 -3
- package/fesm2022/{acorex-platform-themes-default-theme-palette-preview.page-DiDSZx-u.mjs.map → acorex-platform-themes-default-theme-palette-preview.page-DqAngWCf.mjs.map} +1 -1
- package/fesm2022/acorex-platform-themes-default.mjs +63 -36
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/acorex-platform-themes-shared.mjs +5 -3
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
- package/fesm2022/{acorex-platform-widgets-button-widget-designer.component-BLUSF9_9.mjs → acorex-platform-widgets-button-widget-designer.component-DVhi_mBH.mjs} +2 -2
- package/fesm2022/{acorex-platform-widgets-button-widget-designer.component-BLUSF9_9.mjs.map → acorex-platform-widgets-button-widget-designer.component-DVhi_mBH.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-rich-text-popup.component-DIbfD0SV.mjs → acorex-platform-widgets-rich-text-popup.component-CXLjPrFq.mjs} +2 -2
- package/fesm2022/{acorex-platform-widgets-rich-text-popup.component-DIbfD0SV.mjs.map → acorex-platform-widgets-rich-text-popup.component-CXLjPrFq.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-tabular-data-edit-popup.component-C5FtQN9y.mjs → acorex-platform-widgets-tabular-data-edit-popup.component-u2RCVYRB.mjs} +2 -2
- package/fesm2022/{acorex-platform-widgets-tabular-data-edit-popup.component-C5FtQN9y.mjs.map → acorex-platform-widgets-tabular-data-edit-popup.component-u2RCVYRB.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-tabular-data-view-popup.component-DFopYaFk.mjs → acorex-platform-widgets-tabular-data-view-popup.component-BiO5M_eY.mjs} +2 -2
- package/fesm2022/{acorex-platform-widgets-tabular-data-view-popup.component-DFopYaFk.mjs.map → acorex-platform-widgets-tabular-data-view-popup.component-BiO5M_eY.mjs.map} +1 -1
- package/fesm2022/acorex-platform-widgets.mjs +1172 -269
- package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
- package/layout/entity/lib/entity-master-list.viewmodel.d.ts +1 -2
- package/layout/entity/lib/entity-storage-service.d.ts +4 -0
- package/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.d.ts +1 -0
- package/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.component.d.ts +2 -1
- package/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.viewmodel.d.ts +3 -1
- package/layout/entity/lib/workflows/delete-entity.workflow.d.ts +4 -0
- package/layout/search/lib/search.viewmodel.d.ts +2 -0
- package/package.json +1 -1
- package/themes/default/lib/layouts/base/{simple-page/simple-page.component.d.ts → base-page.component.d.ts} +19 -4
- package/themes/default/lib/layouts/base/base-page.types.d.ts +9 -0
- package/themes/default/lib/layouts/base/index.d.ts +2 -0
- package/themes/default/lib/layouts/base/simple-page/index.d.ts +0 -1
- package/themes/default/lib/layouts/base/simple-page/simple-page.layout.d.ts +2 -0
- package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.d.ts +3 -3
- package/themes/default/lib/layouts/search-layout/search-popup.component.d.ts +1 -0
- package/themes/shared/lib/components/layout-elements/layout-actions.component.d.ts +1 -1
- package/widgets/lib/widgets/advance/gallery/gallery-widget-edit.component.d.ts +13 -0
- package/widgets/lib/widgets/advance/gallery/index.d.ts +2 -1
- package/widgets/lib/widgets/charts/bar-chart/bar-chart-widget-edit.component.d.ts +5 -0
- package/widgets/lib/widgets/charts/donut-chart/donut-chart-widget-edit.component.d.ts +32 -2
- package/widgets/lib/widgets/charts/donut-chart/donut-chart.type.d.ts +15 -0
- package/widgets/lib/widgets/charts/gauge-chart/gauge-chart-widget-edit.component.d.ts +16 -3
- package/widgets/lib/widgets/charts/gauge-chart/gauge-chart.type.d.ts +1 -1
- package/widgets/lib/widgets/charts/sticky-note/sticky-note-widget-edit.component.d.ts +2 -2
- package/widgets/lib/widgets/editors/select/select-box-widget-edit.component.d.ts +1 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DbHEBpPW.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-CjX7NZpi.mjs +0 -130
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-CjX7NZpi.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-search-popup.component-BXWbI4Ei.mjs +0 -127
- package/fesm2022/acorex-platform-themes-default-search-popup.component-BXWbI4Ei.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-setting-page.component-BQRGixPo.mjs +0 -74
- package/fesm2022/acorex-platform-themes-default-setting-page.component-BQRGixPo.mjs.map +0 -1
- package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-filters/list-view-option-filters.component.d.ts +0 -14
|
@@ -4,11 +4,13 @@ import * as i1$1 from '@acorex/platform/common';
|
|
|
4
4
|
import { AXPComponentSlotModule, AXPSearchService, AXPSettingService, AXPSettingScope } from '@acorex/platform/common';
|
|
5
5
|
import * as i2$1 from '@acorex/platform/workflow';
|
|
6
6
|
import { AXPWorkflowService, AXPWorkflowAction, AXPWorkflowModule } from '@acorex/platform/workflow';
|
|
7
|
-
import * as
|
|
7
|
+
import * as i2 from '@acorex/components/button';
|
|
8
8
|
import { AXButtonModule } from '@acorex/components/button';
|
|
9
|
-
import * as
|
|
9
|
+
import * as i3 from '@acorex/components/decorators';
|
|
10
10
|
import { AXDecoratorModule } from '@acorex/components/decorators';
|
|
11
|
+
import * as i1 from '@angular/common';
|
|
11
12
|
import { CommonModule } from '@angular/common';
|
|
13
|
+
import * as i4 from '@acorex/core/translation';
|
|
12
14
|
import { AXTranslationModule } from '@acorex/core/translation';
|
|
13
15
|
import { AXTextBoxModule } from '@acorex/components/text-box';
|
|
14
16
|
import { AXPopupService } from '@acorex/components/popup';
|
|
@@ -40,14 +42,14 @@ class AXPGlobalSearchSlotComponent {
|
|
|
40
42
|
<ax-icon class="fa-regular fa-search">
|
|
41
43
|
</ax-icon>
|
|
42
44
|
</ax-button>
|
|
43
|
-
<div class="ax-bg-primary-200/15 ax-h-10 ax-w-72 ax-rounded-default ax-cursor-pointer ax-justify-between ax-hidden md:ax-flex ax-items-center ax-px-3 hover:ax-bg-primary-200/30 ax-text-primary-text" (click)="startSearch()">
|
|
45
|
+
<div class="ax-bg-primary-200/15 ax-h-10 ax-w-72 ax-rounded-default ax-cursor-pointer ax-justify-between ax-hidden md:ax-flex ax-items-center ax-px-3 hover:ax-bg-primary-200/30 ax-text-primary-text" (click)="startSearch()" *translate="let t">
|
|
44
46
|
<div class="ax-flex ax-items-center ax-gap-2">
|
|
45
47
|
<i class="fa-light fa-search ax-text-xl"></i>
|
|
46
|
-
<span>
|
|
48
|
+
<span>{{ t('search-placeholder',{scope:'global-search'}) | async}}</span>
|
|
47
49
|
</div>
|
|
48
50
|
<kbd class="ax-text-sm">Ctrl+K</kbd>
|
|
49
51
|
</div>
|
|
50
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type:
|
|
52
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i4.AXTranslatorDirective, selector: "[translate]" }, { kind: "ngmodule", type: AXTextBoxModule }] }); }
|
|
51
53
|
}
|
|
52
54
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPGlobalSearchSlotComponent, decorators: [{
|
|
53
55
|
type: Component,
|
|
@@ -57,10 +59,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
|
57
59
|
<ax-icon class="fa-regular fa-search">
|
|
58
60
|
</ax-icon>
|
|
59
61
|
</ax-button>
|
|
60
|
-
<div class="ax-bg-primary-200/15 ax-h-10 ax-w-72 ax-rounded-default ax-cursor-pointer ax-justify-between ax-hidden md:ax-flex ax-items-center ax-px-3 hover:ax-bg-primary-200/30 ax-text-primary-text" (click)="startSearch()">
|
|
62
|
+
<div class="ax-bg-primary-200/15 ax-h-10 ax-w-72 ax-rounded-default ax-cursor-pointer ax-justify-between ax-hidden md:ax-flex ax-items-center ax-px-3 hover:ax-bg-primary-200/30 ax-text-primary-text" (click)="startSearch()" *translate="let t">
|
|
61
63
|
<div class="ax-flex ax-items-center ax-gap-2">
|
|
62
64
|
<i class="fa-light fa-search ax-text-xl"></i>
|
|
63
|
-
<span>
|
|
65
|
+
<span>{{ t('search-placeholder',{scope:'global-search'}) | async}}</span>
|
|
64
66
|
</div>
|
|
65
67
|
<kbd class="ax-text-sm">Ctrl+K</kbd>
|
|
66
68
|
</div>
|
|
@@ -251,19 +253,39 @@ class AXPGlobalSearchViewModel {
|
|
|
251
253
|
// Load recent selections
|
|
252
254
|
const recent = await this.settingService.get(this.settingKeys.recent);
|
|
253
255
|
if (recent) {
|
|
254
|
-
this._recentItems.set(recent.slice(0, 5));
|
|
256
|
+
this._recentItems.set(recent.slice(0, 5).map(this.convertItemForLoad));
|
|
255
257
|
}
|
|
256
258
|
// Load pinned items
|
|
257
259
|
const pinned = await this.settingService.get(this.settingKeys.pinned);
|
|
258
260
|
if (pinned) {
|
|
259
|
-
this._pinnedItems.set(pinned.slice(0, 5));
|
|
261
|
+
this._pinnedItems.set(pinned.slice(0, 5).map(this.convertItemForLoad));
|
|
260
262
|
}
|
|
261
263
|
}
|
|
262
264
|
async saveSettings() {
|
|
263
265
|
// Save recent selections
|
|
264
|
-
await this.settingService.scope(AXPSettingScope.User).set(this.settingKeys.recent, this._recentItems().slice(0, 5));
|
|
266
|
+
await this.settingService.scope(AXPSettingScope.User).set(this.settingKeys.recent, this._recentItems().slice(0, 5).map(this.convertItemForSave));
|
|
265
267
|
// Save pinned items
|
|
266
|
-
await this.settingService.scope(AXPSettingScope.User).set(this.settingKeys.pinned, this._pinnedItems().slice(0, 5));
|
|
268
|
+
await this.settingService.scope(AXPSettingScope.User).set(this.settingKeys.pinned, this._pinnedItems().slice(0, 5).map(this.convertItemForSave));
|
|
269
|
+
}
|
|
270
|
+
convertItemForSave(item) {
|
|
271
|
+
return {
|
|
272
|
+
id: item.id,
|
|
273
|
+
name: item.name,
|
|
274
|
+
title: item.title,
|
|
275
|
+
description: item.description,
|
|
276
|
+
icon: item.icon,
|
|
277
|
+
command: item.command,
|
|
278
|
+
parent: item.parent ? {
|
|
279
|
+
title: item.parent.title,
|
|
280
|
+
} : undefined
|
|
281
|
+
};
|
|
282
|
+
}
|
|
283
|
+
convertItemForLoad(item) {
|
|
284
|
+
return {
|
|
285
|
+
...item,
|
|
286
|
+
command: item.command,
|
|
287
|
+
actions: []
|
|
288
|
+
};
|
|
267
289
|
}
|
|
268
290
|
}
|
|
269
291
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-layout-search.mjs","sources":["../../../../libs/platform/layout/search/src/lib/search.config.ts","../../../../libs/platform/layout/search/src/lib/search-slot.component.ts","../../../../libs/platform/layout/search/src/lib/workflows/search.workflow.ts","../../../../libs/platform/layout/search/src/lib/search.module.ts","../../../../libs/platform/layout/search/src/lib/search.viewmodel.ts","../../../../libs/platform/layout/search/src/acorex-platform-layout-search.ts"],"sourcesContent":["import { InjectionToken, Type } from \"@angular/core\";\n\nexport interface AXPGlobalSearchConfigs {\n window: () => Type<any>;\n}\n\nexport const AXP_GLOBAL_SEARCH_CONFIG_TOKEN = new InjectionToken<AXPGlobalSearchConfigs>('AXP_GLOBAL_SEARCH_CONFIG_TOKEN');","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { CommonModule } from '@angular/common';\nimport { Component, HostListener, inject } from '@angular/core';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\n\n@Component({\n template: `\n <ax-button color=\"primary\" class=\"ax-flex md:ax-hidden\" (onClick)=\"startSearch()\">\n <ax-icon class=\"fa-regular fa-search\">\n </ax-icon>\n </ax-button>\n <div class=\"ax-bg-primary-200/15 ax-h-10 ax-w-72 ax-rounded-default ax-cursor-pointer ax-justify-between ax-hidden md:ax-flex ax-items-center ax-px-3 hover:ax-bg-primary-200/30 ax-text-primary-text\" (click)=\"startSearch()\">\n <div class=\"ax-flex ax-items-center ax-gap-2\">\n <i class=\"fa-light fa-search ax-text-xl\"></i>\n <span>Search ...</span>\n </div>\n <kbd class=\"ax-text-sm\">Ctrl+K</kbd>\n </div>\n `,\n imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXTranslationModule, AXTextBoxModule]\n})\nexport class AXPGlobalSearchSlotComponent {\n\n protected workflow = inject(AXPWorkflowService);\n\n protected async startSearch() {\n await this.workflow.execute('global-search')\n }\n\n @HostListener('document:keydown', ['$event'])\n private async handleKeyboardEvent(event: KeyboardEvent) {\n if (event.ctrlKey) {\n switch (event.code) {\n case 'KeyK':\n event.preventDefault();\n event.stopPropagation();\n await this.startSearch();\n break;\n }\n }\n\n }\n}\n","import { AXPopupService } from '@acorex/components/popup';\nimport { AXPWorkflow, AXPWorkflowAction, AXPWorkflowContext, AXPWorkflowService } from '@acorex/platform/workflow';\nimport { inject, Injectable } from '@angular/core';\nimport { AXP_GLOBAL_SEARCH_CONFIG_TOKEN } from '../search.config';\nimport { AXPSearchDisplayResult } from '@acorex/platform/common';\n\n@Injectable()\nexport class AXPGlobalSearchStartAction extends AXPWorkflowAction {\n private popupService = inject(AXPopupService);\n private workflow = inject(AXPWorkflowService);\n private config = inject(AXP_GLOBAL_SEARCH_CONFIG_TOKEN);\n\n override async execute(context: AXPWorkflowContext): Promise<void> {\n const component = await this.config.window();\n const popup = await this.popupService.open(component, {\n title: 'Search...',\n size: 'fit',\n closeOnBackdropClick: true,\n data: {\n text: context.getVariable('text'),\n },\n header: false,\n });\n if (popup.data) {\n const result = popup.data as AXPSearchDisplayResult;\n if (result && result.command) {\n this.workflow.execute(result.command?.name, result.command?.options);\n }\n }\n }\n}\n\nexport const AXPGlobalSearchWorkflow: AXPWorkflow = {\n startStepId: 'start',\n steps: {\n start: {\n action: 'AXPGlobalSearchStartAction',\n },\n },\n};\n","import { AXPAppStartUpService, AXPComponentSlotModule } from '@acorex/platform/common';\nimport { Injector, NgModule } from '@angular/core';\nimport { AXPWorkflowModule } from '@acorex/platform/workflow';\nimport { AXPGlobalSearchSlotComponent } from './search-slot.component';\nimport { AXPGlobalSearchStartAction, AXPGlobalSearchWorkflow } from './workflows/search.workflow';\n\n@NgModule({\n imports: [\n AXPComponentSlotModule.forChild({\n 'header-start': [\n {\n priority: 0,\n name: 'search',\n component: AXPGlobalSearchSlotComponent,\n },\n ],\n }),\n //\n AXPWorkflowModule.forChild({\n actions: {\n AXPGlobalSearchStartAction\n },\n workflows: {\n 'global-search': AXPGlobalSearchWorkflow,\n },\n })\n ],\n exports: [],\n declarations: [],\n providers: []\n})\nexport class AXPGlobalSearchModule {\n constructor(\n appInitService: AXPAppStartUpService,\n injector: Injector\n ) {\n\n }\n}\n","import { AXPSearchDisplayGroupResult, AXPSearchDisplayResult, AXPSearchService, AXPSettingScope, AXPSettingService } from \"@acorex/platform/common\";\nimport { computed, inject, signal } from \"@angular/core\";\nimport { Subject } from \"rxjs\";\n\nexport class AXPGlobalSearchViewModel {\n\n private settingKeys = {\n recent: \"global-search:recents:items\",\n pinned: \"global-search:pinned:items\"\n }\n\n private searchService = inject(AXPSearchService);\n private settingService = inject(AXPSettingService);\n\n private _text = signal<string | null>(null);\n public text = this._text.asReadonly();\n\n private _results = signal<AXPSearchDisplayGroupResult[]>([]);\n public results = this._results.asReadonly();\n\n private _isBusy = signal(false);\n public isBusy = this._isBusy.asReadonly();\n\n public isEmpty = computed(() => this.text() && this.results().length == 0);\n\n public isValid = computed(() => (this.text()?.length ?? 0) > 2);\n\n public isStart = computed(() => !this.isEmpty() && this.results().length == 0);\n\n public isWelcome = computed(() => this.isStart() && this.pinnedItems().length == 0 && this.recentItems().length == 0);\n\n private _recentItems = signal<AXPSearchDisplayResult[]>([]);\n private _pinnedItems = signal<AXPSearchDisplayResult[]>([]);\n public pinnedItems = this._pinnedItems.asReadonly();\n public recentItems = computed(() => this.getTopRecentItems());\n\n public readonly onItemSelected = new Subject<AXPSearchDisplayResult>();\n\n constructor() {\n this.loadSettings();\n }\n\n public async search(text: string): Promise<void> {\n this._isBusy.set(true);\n this._text.set(text);\n\n if (!this.isValid()) {\n this._results.set([]);\n } else {\n await new Promise((resolve) => setTimeout(resolve, 250));\n\n const results = await this.searchService.search(text);\n this._results.set(results);\n }\n\n this._isBusy.set(false);\n }\n\n public async execute(item: AXPSearchDisplayResult): Promise<void> {\n this.onItemSelected.next(item);\n await this.updateSelectionHistory(item);\n }\n\n public async pin(item: AXPSearchDisplayResult): Promise<void> {\n const currentPinned = this._pinnedItems();\n if (!currentPinned.some(i => i.id === item.id)) {\n this._pinnedItems.set([item, ...currentPinned].slice(0, 5));\n await this.saveSettings();\n }\n }\n\n public async unpin(item: AXPSearchDisplayResult): Promise<void> {\n const currentPinned = this._pinnedItems();\n this._pinnedItems.set(currentPinned.filter(i => i.id !== item.id));\n await this.saveSettings();\n }\n\n public async togglePin(item: AXPSearchDisplayResult): Promise<void> {\n if (this.isPinned(item)) {\n await this.unpin(item);\n } else {\n await this.pin(item);\n }\n }\n\n public isPinned(item: AXPSearchDisplayResult): boolean {\n const currentPinned = this._pinnedItems();\n return currentPinned.some(i => i.id === item.id);\n }\n\n private async updateSelectionHistory(item: AXPSearchDisplayResult): Promise<void> {\n // Update recent selections\n const currentHistory = this._recentItems();\n const updatedHistory = [item, ...currentHistory.filter(i => i.id !== item.id)].slice(0, 5);\n this._recentItems.set(updatedHistory);\n\n // Save updated settings\n await this.saveSettings();\n }\n\n private getTopRecentItems(): AXPSearchDisplayResult[] {\n const pinnedIds = new Set(this._pinnedItems().map(item => item.id));\n return this._recentItems().filter(item => !pinnedIds.has(item.id)).slice(0, 5);\n }\n\n public async clearRecentItems() {\n this._recentItems.set([]);\n await this.settingService.scope(AXPSettingScope.User).set(this.settingKeys.recent, []);\n }\n\n private async loadSettings(): Promise<void> {\n // Load recent selections\n const recent = await this.settingService.get<AXPSearchDisplayResult[]>(this.settingKeys.recent);\n if (recent) {\n this._recentItems.set(recent.slice(0, 5));\n }\n\n // Load pinned items\n const pinned = await this.settingService.get<AXPSearchDisplayResult[]>(this.settingKeys.pinned);\n if (pinned) {\n this._pinnedItems.set(pinned.slice(0, 5));\n }\n }\n\n private async saveSettings(): Promise<void> {\n // Save recent selections\n await this.settingService.scope(AXPSettingScope.User).set(this.settingKeys.recent, this._recentItems().slice(0, 5));\n\n // Save pinned items\n await this.settingService.scope(AXPSettingScope.User).set(this.settingKeys.pinned, this._pinnedItems().slice(0, 5));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-platform-layout-search.mjs","sources":["../../../../libs/platform/layout/search/src/lib/search.config.ts","../../../../libs/platform/layout/search/src/lib/search-slot.component.ts","../../../../libs/platform/layout/search/src/lib/workflows/search.workflow.ts","../../../../libs/platform/layout/search/src/lib/search.module.ts","../../../../libs/platform/layout/search/src/lib/search.viewmodel.ts","../../../../libs/platform/layout/search/src/acorex-platform-layout-search.ts"],"sourcesContent":["import { InjectionToken, Type } from \"@angular/core\";\n\nexport interface AXPGlobalSearchConfigs {\n window: () => Type<any>;\n}\n\nexport const AXP_GLOBAL_SEARCH_CONFIG_TOKEN = new InjectionToken<AXPGlobalSearchConfigs>('AXP_GLOBAL_SEARCH_CONFIG_TOKEN');","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { CommonModule } from '@angular/common';\nimport { Component, HostListener, inject } from '@angular/core';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\n\n@Component({\n template: `\n <ax-button color=\"primary\" class=\"ax-flex md:ax-hidden\" (onClick)=\"startSearch()\">\n <ax-icon class=\"fa-regular fa-search\">\n </ax-icon>\n </ax-button>\n <div class=\"ax-bg-primary-200/15 ax-h-10 ax-w-72 ax-rounded-default ax-cursor-pointer ax-justify-between ax-hidden md:ax-flex ax-items-center ax-px-3 hover:ax-bg-primary-200/30 ax-text-primary-text\" (click)=\"startSearch()\" *translate=\"let t\">\n <div class=\"ax-flex ax-items-center ax-gap-2\">\n <i class=\"fa-light fa-search ax-text-xl\"></i>\n <span>{{ t('search-placeholder',{scope:'global-search'}) | async}}</span>\n </div>\n <kbd class=\"ax-text-sm\">Ctrl+K</kbd>\n </div>\n `,\n imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXTranslationModule, AXTextBoxModule]\n})\nexport class AXPGlobalSearchSlotComponent {\n\n protected workflow = inject(AXPWorkflowService);\n\n protected async startSearch() {\n await this.workflow.execute('global-search')\n }\n\n @HostListener('document:keydown', ['$event'])\n private async handleKeyboardEvent(event: KeyboardEvent) {\n if (event.ctrlKey) {\n switch (event.code) {\n case 'KeyK':\n event.preventDefault();\n event.stopPropagation();\n await this.startSearch();\n break;\n }\n }\n\n }\n}\n","import { AXPopupService } from '@acorex/components/popup';\nimport { AXPWorkflow, AXPWorkflowAction, AXPWorkflowContext, AXPWorkflowService } from '@acorex/platform/workflow';\nimport { inject, Injectable } from '@angular/core';\nimport { AXP_GLOBAL_SEARCH_CONFIG_TOKEN } from '../search.config';\nimport { AXPSearchDisplayResult } from '@acorex/platform/common';\n\n@Injectable()\nexport class AXPGlobalSearchStartAction extends AXPWorkflowAction {\n private popupService = inject(AXPopupService);\n private workflow = inject(AXPWorkflowService);\n private config = inject(AXP_GLOBAL_SEARCH_CONFIG_TOKEN);\n\n override async execute(context: AXPWorkflowContext): Promise<void> {\n const component = await this.config.window();\n const popup = await this.popupService.open(component, {\n title: 'Search...',\n size: 'fit',\n closeOnBackdropClick: true,\n data: {\n text: context.getVariable('text'),\n },\n header: false,\n });\n if (popup.data) {\n const result = popup.data as AXPSearchDisplayResult;\n if (result && result.command) {\n this.workflow.execute(result.command?.name, result.command?.options);\n }\n }\n }\n}\n\nexport const AXPGlobalSearchWorkflow: AXPWorkflow = {\n startStepId: 'start',\n steps: {\n start: {\n action: 'AXPGlobalSearchStartAction',\n },\n },\n};\n","import { AXPAppStartUpService, AXPComponentSlotModule } from '@acorex/platform/common';\nimport { Injector, NgModule } from '@angular/core';\nimport { AXPWorkflowModule } from '@acorex/platform/workflow';\nimport { AXPGlobalSearchSlotComponent } from './search-slot.component';\nimport { AXPGlobalSearchStartAction, AXPGlobalSearchWorkflow } from './workflows/search.workflow';\n\n@NgModule({\n imports: [\n AXPComponentSlotModule.forChild({\n 'header-start': [\n {\n priority: 0,\n name: 'search',\n component: AXPGlobalSearchSlotComponent,\n },\n ],\n }),\n //\n AXPWorkflowModule.forChild({\n actions: {\n AXPGlobalSearchStartAction\n },\n workflows: {\n 'global-search': AXPGlobalSearchWorkflow,\n },\n })\n ],\n exports: [],\n declarations: [],\n providers: []\n})\nexport class AXPGlobalSearchModule {\n constructor(\n appInitService: AXPAppStartUpService,\n injector: Injector\n ) {\n\n }\n}\n","import { AXPSearchDisplayGroupResult, AXPSearchDisplayResult, AXPSearchDisplayResultForSave, AXPSearchService, AXPSettingScope, AXPSettingService } from \"@acorex/platform/common\";\nimport { computed, inject, signal } from \"@angular/core\";\nimport { Subject } from \"rxjs\";\n\nexport class AXPGlobalSearchViewModel {\n\n private settingKeys = {\n recent: \"global-search:recents:items\",\n pinned: \"global-search:pinned:items\"\n }\n\n private searchService = inject(AXPSearchService);\n private settingService = inject(AXPSettingService);\n\n private _text = signal<string | null>(null);\n public text = this._text.asReadonly();\n\n private _results = signal<AXPSearchDisplayGroupResult[]>([]);\n public results = this._results.asReadonly();\n\n private _isBusy = signal(false);\n public isBusy = this._isBusy.asReadonly();\n\n public isEmpty = computed(() => this.text() && this.results().length == 0);\n\n public isValid = computed(() => (this.text()?.length ?? 0) > 2);\n\n public isStart = computed(() => !this.isEmpty() && this.results().length == 0);\n\n public isWelcome = computed(() => this.isStart() && this.pinnedItems().length == 0 && this.recentItems().length == 0);\n\n private _recentItems = signal<AXPSearchDisplayResult[]>([]);\n private _pinnedItems = signal<AXPSearchDisplayResult[]>([]);\n public pinnedItems = this._pinnedItems.asReadonly();\n public recentItems = computed(() => this.getTopRecentItems());\n\n public readonly onItemSelected = new Subject<AXPSearchDisplayResult>();\n\n constructor() {\n this.loadSettings();\n }\n\n public async search(text: string): Promise<void> {\n this._isBusy.set(true);\n this._text.set(text);\n\n if (!this.isValid()) {\n this._results.set([]);\n } else {\n await new Promise((resolve) => setTimeout(resolve, 250));\n\n const results = await this.searchService.search(text);\n this._results.set(results);\n }\n\n this._isBusy.set(false);\n }\n\n public async execute(item: AXPSearchDisplayResult): Promise<void> {\n this.onItemSelected.next(item);\n await this.updateSelectionHistory(item);\n }\n\n public async pin(item: AXPSearchDisplayResult): Promise<void> {\n const currentPinned = this._pinnedItems();\n if (!currentPinned.some(i => i.id === item.id)) {\n this._pinnedItems.set([item, ...currentPinned].slice(0, 5));\n await this.saveSettings();\n }\n }\n\n public async unpin(item: AXPSearchDisplayResult): Promise<void> {\n const currentPinned = this._pinnedItems();\n this._pinnedItems.set(currentPinned.filter(i => i.id !== item.id));\n await this.saveSettings();\n }\n\n public async togglePin(item: AXPSearchDisplayResult): Promise<void> {\n if (this.isPinned(item)) {\n await this.unpin(item);\n } else {\n await this.pin(item);\n }\n }\n\n public isPinned(item: AXPSearchDisplayResult): boolean {\n const currentPinned = this._pinnedItems();\n return currentPinned.some(i => i.id === item.id);\n }\n\n private async updateSelectionHistory(item: AXPSearchDisplayResult): Promise<void> {\n // Update recent selections\n const currentHistory = this._recentItems();\n const updatedHistory = [item, ...currentHistory.filter(i => i.id !== item.id)].slice(0, 5);\n this._recentItems.set(updatedHistory);\n\n // Save updated settings\n await this.saveSettings();\n }\n\n private getTopRecentItems(): AXPSearchDisplayResult[] {\n const pinnedIds = new Set(this._pinnedItems().map(item => item.id));\n return this._recentItems().filter(item => !pinnedIds.has(item.id)).slice(0, 5);\n }\n\n public async clearRecentItems() {\n this._recentItems.set([]);\n await this.settingService.scope(AXPSettingScope.User).set(this.settingKeys.recent, []);\n }\n\n private async loadSettings(): Promise<void> {\n // Load recent selections\n const recent = await this.settingService.get<AXPSearchDisplayResult[]>(this.settingKeys.recent);\n if (recent) {\n this._recentItems.set(recent.slice(0, 5).map(this.convertItemForLoad));\n }\n\n // Load pinned items\n const pinned = await this.settingService.get<AXPSearchDisplayResult[]>(this.settingKeys.pinned);\n if (pinned) {\n this._pinnedItems.set(pinned.slice(0, 5).map(this.convertItemForLoad));\n }\n }\n\n private async saveSettings(): Promise<void> {\n\n // Save recent selections\n await this.settingService.scope(AXPSettingScope.User).set(this.settingKeys.recent, this._recentItems().slice(0, 5).map(this.convertItemForSave));\n\n // Save pinned items\n await this.settingService.scope(AXPSettingScope.User).set(this.settingKeys.pinned, this._pinnedItems().slice(0, 5).map(this.convertItemForSave));\n }\n\n\n private convertItemForSave(item: AXPSearchDisplayResult): AXPSearchDisplayResultForSave {\n return {\n id: item.id,\n name: item.name,\n title: item.title,\n description: item.description,\n icon: item.icon,\n command: item.command,\n parent: item.parent ? {\n title: item.parent.title,\n } : undefined\n }\n }\n\n private convertItemForLoad(item: AXPSearchDisplayResultForSave): AXPSearchDisplayResult {\n return {\n ...item,\n command: item.command,\n actions: []\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2"],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ import * as i2 from '@acorex/components/form';
|
|
|
9
9
|
import { AXFormModule } from '@acorex/components/form';
|
|
10
10
|
import * as i6 from '@acorex/components/label';
|
|
11
11
|
import { AXLabelModule } from '@acorex/components/label';
|
|
12
|
-
import * as
|
|
12
|
+
import * as i5 from '@acorex/components/loading';
|
|
13
13
|
import { AXLoadingModule } from '@acorex/components/loading';
|
|
14
14
|
import { AXBasePageComponent } from '@acorex/components/page';
|
|
15
15
|
import { AXTabsModule } from '@acorex/components/tabs';
|
|
@@ -79,7 +79,7 @@ class AXPEntityMasterCreateViewComponent extends AXBasePageComponent {
|
|
|
79
79
|
this.vm.context.set(e.data);
|
|
80
80
|
}
|
|
81
81
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPEntityMasterCreateViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
82
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPEntityMasterCreateViewComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "container", first: true, predicate: AXPWidgetContainerComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div>\n <axp-widgets-container [context]=\"vm.context()\" (onContextChanged)=\"handleContextChange($event)\">\n <ax-form class=\"ax-flex ax-flex-col ax-gap-6 ax-p-4 ax-pb-8\" #form [messageStyle]=\"'bottom'\" [updateOn]=\"'blur'\">\n <!-- Begin Sections -->\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n @for(section of vm.sections(); track section.name()) {\n <div class=\"ax-col-span-12\">\n <ax-form #form>\n @if(vm.sections().length>1 && !section.description()) {\n <div class=\"ax-pb-4\">\n <span class=\"ax-font-bold ax-text-xl\">{{ section.title() | translate | async }}</span>\n @if(section.description()) {\n <p class=\"ax-text-sm ax-text-gray-500\">{{ section.description() }}</p>\n }\n </div>\n }\n <div class=\"ax-card-body !ax-grid !ax-grid-cols-12 !ax-gap-4\">\n @for(attr of section.elements(); track $index) {\n <ax-form-field class=\"ax-flex ax-flex-col ax-gap-1\" [gridLayout]=\"attr.layout()\"\n [class.ax-hidden]=\"widget.options()['visibility'] == false\">\n <ax-label class=\"ax-font-semibold ax-text-sm\" [required]=\"attr.isRequired()\">{{\n attr.title() | translate | async\n }}</ax-label>\n <ng-container axp-widget-renderer [node]=\"attr.node()\" [mode]=\"'edit'\"\n #widget=\"widgetRenderer\"></ng-container>\n </ax-form-field>\n }\n </div>\n </ax-form>\n </div>\n }\n </div>\n <!-- Finish Sections -->\n </ax-form>\n </axp-widgets-container>\n <ax-footer>\n <ax-suffix>\n <ax-button look=\"solid\" [color]=\"'default'\" [text]=\"'cancel' | translate | async\" (onClick)=\"handleCloseClick()\">\n </ax-button>\n @if(vm.canCreateNewOne()) {\n <ax-dropdown-button [disabled]=\"vm.isInProgress()\" color=\"primary\" [text]=\"'save' | translate | async\"\n look=\"solid\" (onClick)=\"handleSaveClick(form)\">\n <ax-loading *ngIf=\"vm.isInProgress()\"></ax-loading>\n <ax-button-item-list>\n <ax-button-item [text]=\"('save' | translate | async) + ' ' + ('create-new' | translate | async)\"\n (onClick)=\"handleSaveAndNewClick(form)\">\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-button>\n }@else {\n <ax-button look=\"solid\" color=\"primary\" [text]=\"'save' | translate | async\" (onClick)=\"handleSaveClick(form)\">\n <ax-loading *ngIf=\"vm.isInProgress()\"></ax-loading>\n </ax-button>\n }\n </ax-suffix>\n </ax-footer>\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i2.AXFormFieldComponent, selector: "ax-form-field", inputs: ["labelMode"] }, { kind: "component", type: i2.AXFormComponent, selector: "ax-form", inputs: ["labelMode", "look", "messageStyle", "updateOn"], outputs: ["onValidate", "updateOnChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i4.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: i4.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i4.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXDialogModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type:
|
|
82
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPEntityMasterCreateViewComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "container", first: true, predicate: AXPWidgetContainerComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div>\n <axp-widgets-container [context]=\"vm.context()\" (onContextChanged)=\"handleContextChange($event)\">\n <ax-form class=\"ax-flex ax-flex-col ax-gap-6 ax-p-4 ax-pb-8\" #form [messageStyle]=\"'bottom'\" [updateOn]=\"'blur'\">\n <!-- Begin Sections -->\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n @for(section of vm.sections(); track section.name()) {\n <div class=\"ax-col-span-12\">\n <ax-form #form>\n @if(vm.sections().length>1 && !section.description()) {\n <div class=\"ax-pb-4\">\n <span class=\"ax-font-bold ax-text-xl\">{{ section.title() | translate | async }}</span>\n @if(section.description()) {\n <p class=\"ax-text-sm ax-text-gray-500\">{{ section.description() }}</p>\n }\n </div>\n }\n <div class=\"ax-card-body !ax-grid !ax-grid-cols-12 !ax-gap-4\">\n @for(attr of section.elements(); track $index) {\n <ax-form-field class=\"ax-flex ax-flex-col ax-gap-1\" [gridLayout]=\"attr.layout()\"\n [class.ax-hidden]=\"widget.options()['visibility'] == false\">\n <ax-label class=\"ax-font-semibold ax-text-sm\" [required]=\"attr.isRequired()\">{{\n attr.title() | translate | async\n }}</ax-label>\n <ng-container axp-widget-renderer [node]=\"attr.node()\" [mode]=\"'edit'\"\n #widget=\"widgetRenderer\"></ng-container>\n </ax-form-field>\n }\n </div>\n </ax-form>\n </div>\n }\n </div>\n <!-- Finish Sections -->\n </ax-form>\n </axp-widgets-container>\n <ax-footer>\n <ax-suffix>\n <ax-button look=\"solid\" [color]=\"'default'\" [text]=\"'cancel' | translate | async\" (onClick)=\"handleCloseClick()\">\n </ax-button>\n @if(vm.canCreateNewOne()) {\n <ax-dropdown-button [disabled]=\"vm.isInProgress()\" color=\"primary\" [text]=\"'save' | translate | async\"\n look=\"solid\" (onClick)=\"handleSaveClick(form)\">\n <ax-loading *ngIf=\"vm.isInProgress()\"></ax-loading>\n <ax-button-item-list>\n <ax-button-item [text]=\"('save' | translate | async) + ' ' + ('create-new' | translate | async)\"\n (onClick)=\"handleSaveAndNewClick(form)\">\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-button>\n }@else {\n <ax-button look=\"solid\" color=\"primary\" [text]=\"'save' | translate | async\" (onClick)=\"handleSaveClick(form)\">\n <ax-loading *ngIf=\"vm.isInProgress()\"></ax-loading>\n </ax-button>\n }\n </ax-suffix>\n </ax-footer>\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i2.AXFormFieldComponent, selector: "ax-form-field", inputs: ["labelMode"] }, { kind: "component", type: i2.AXFormComponent, selector: "ax-form", inputs: ["labelMode", "look", "messageStyle", "updateOn"], outputs: ["onValidate", "updateOnChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i4.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: i4.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i4.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXDialogModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i5.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: AXTabsModule }, { kind: "ngmodule", type: AXTooltipModule }, { kind: "ngmodule", type: AXValidationModule }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i6.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "ngmodule", type: AXDropdownButtonModule }, { kind: "component", type: i7.AXDropdownButtonComponent, selector: "ax-dropdown-button", inputs: ["disabled", "size", "color", "look", "text", "type", "mode"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "lookChange", "colorChange", "disabledChange"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i6$1.AXTranslatorPipe, name: "translate" }, { kind: "ngmodule", type:
|
|
83
83
|
//
|
|
84
84
|
AXPLayoutBuilderModule }, { kind: "component", type: i6$2.AXPWidgetContainerComponent, selector: "axp-widgets-container", inputs: ["context", "functions"], outputs: ["onContextChanged"] }, { kind: "directive", type: i6$2.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], exportAs: ["widgetRenderer"] }, { kind: "ngmodule", type: AXPWidgetsModule }, { kind: "directive", type: AXPGridLayoutDirective, selector: "[gridLayout]", inputs: ["gridLayout"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
85
85
|
}
|
|
@@ -109,4 +109,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
|
109
109
|
}] });
|
|
110
110
|
|
|
111
111
|
export { AXPEntityMasterCreateViewComponent };
|
|
112
|
-
//# sourceMappingURL=acorex-platform-themes-default-entity-master-create-view.component-
|
|
112
|
+
//# sourceMappingURL=acorex-platform-themes-default-entity-master-create-view.component-LKhN00ob.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-themes-default-entity-master-create-view.component-pcNF_wd0.mjs","sources":["../../../../libs/platform/themes/default/src/lib/layouts/entity-layouts/entity-master-create-view/entity-master-create-view.component.ts","../../../../libs/platform/themes/default/src/lib/layouts/entity-layouts/entity-master-create-view/entity-master-create-view.component.html"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDialogModule } from '@acorex/components/dialog';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXFormComponent, AXFormModule } from '@acorex/components/form';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXTabsModule } from '@acorex/components/tabs';\nimport { AXTooltipModule } from '@acorex/components/tooltip';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, viewChild } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { AXValidationModule } from '@acorex/core/validation';\n\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPGridLayoutDirective } from '@acorex/platform/common';\nimport {\n AXPLayoutBuilderModule,\n AXPLayoutContextChangeEvent,\n AXPPageStatus,\n AXPWidgetContainerComponent,\n} from '@acorex/platform/layout/builder';\nimport { AXPEntityMasterCreateViewModel } from '@acorex/platform/layout/entity';\nimport { AXPWidgetsModule } from '@acorex/platform/widgets';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\n\n@Component({\n templateUrl: './entity-master-create-view.component.html',\n imports: [\n CommonModule,\n FormsModule,\n AXFormModule,\n AXDecoratorModule,\n CommonModule,\n AXButtonModule,\n AXDialogModule,\n AXLoadingModule,\n AXTabsModule,\n AXTooltipModule,\n AXValidationModule,\n AXLabelModule,\n AXDropdownModule,\n AXDropdownButtonModule,\n AXTranslationModule,\n //\n AXPLayoutBuilderModule,\n AXPWidgetsModule,\n AXPGridLayoutDirective,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPEntityMasterCreateViewComponent extends AXBasePageComponent {\n protected vm!: AXPEntityMasterCreateViewModel;\n\n private container = viewChild(AXPWidgetContainerComponent);\n\n protected workflow = inject(AXPWorkflowService);\n\n ngAfterViewInit() {\n this.vm.builder = this.container()!.builderService;\n }\n\n protected handleCloseClick() {\n this.close();\n }\n\n protected async handleBackClick() {\n //await this.vm.executeCommand('back');\n }\n\n protected async handleNextClick(form: AXFormComponent) {\n // const formResult = await form.validate();\n // if (formResult.result) {\n // await this.vm.executeCommand('next');\n // }\n }\n\n protected async handleSaveClick(form: AXFormComponent) {\n const formResult = await form.validate();\n if (formResult.result) {\n try {\n const record = await this.vm.save();\n\n this.close({ save: true, recordId: record?.id, item: record, redirect: this.vm.redirect() });\n } catch (error) {\n console.log(error);\n }\n }\n }\n\n protected async handleSaveAndNewClick(form: AXFormComponent) {\n const formResult = await form.validate();\n if (formResult.result) {\n try {\n const record = await this.vm.save();\n this.close({ save: true, recordId: record?.id, item: record, redirect: false });\n await this.vm.createNewOne();\n } catch (error) {\n console.log(error);\n }\n }\n }\n\n protected async handleContextChange(e: AXPLayoutContextChangeEvent) {\n this.vm.context.set(e.data);\n }\n}\n","<div>\n <axp-widgets-container [context]=\"vm.context()\" (onContextChanged)=\"handleContextChange($event)\">\n <ax-form class=\"ax-flex ax-flex-col ax-gap-6 ax-p-4 ax-pb-8\" #form [messageStyle]=\"'bottom'\" [updateOn]=\"'blur'\">\n <!-- Begin Sections -->\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n @for(section of vm.sections(); track section.name()) {\n <div class=\"ax-col-span-12\">\n <ax-form #form>\n @if(vm.sections().length>1 && !section.description()) {\n <div class=\"ax-pb-4\">\n <span class=\"ax-font-bold ax-text-xl\">{{ section.title() | translate | async }}</span>\n @if(section.description()) {\n <p class=\"ax-text-sm ax-text-gray-500\">{{ section.description() }}</p>\n }\n </div>\n }\n <div class=\"ax-card-body !ax-grid !ax-grid-cols-12 !ax-gap-4\">\n @for(attr of section.elements(); track $index) {\n <ax-form-field class=\"ax-flex ax-flex-col ax-gap-1\" [gridLayout]=\"attr.layout()\"\n [class.ax-hidden]=\"widget.options()['visibility'] == false\">\n <ax-label class=\"ax-font-semibold ax-text-sm\" [required]=\"attr.isRequired()\">{{\n attr.title() | translate | async\n }}</ax-label>\n <ng-container axp-widget-renderer [node]=\"attr.node()\" [mode]=\"'edit'\"\n #widget=\"widgetRenderer\"></ng-container>\n </ax-form-field>\n }\n </div>\n </ax-form>\n </div>\n }\n </div>\n <!-- Finish Sections -->\n </ax-form>\n </axp-widgets-container>\n <ax-footer>\n <ax-suffix>\n <ax-button look=\"solid\" [color]=\"'default'\" [text]=\"'cancel' | translate | async\" (onClick)=\"handleCloseClick()\">\n </ax-button>\n @if(vm.canCreateNewOne()) {\n <ax-dropdown-button [disabled]=\"vm.isInProgress()\" color=\"primary\" [text]=\"'save' | translate | async\"\n look=\"solid\" (onClick)=\"handleSaveClick(form)\">\n <ax-loading *ngIf=\"vm.isInProgress()\"></ax-loading>\n <ax-button-item-list>\n <ax-button-item [text]=\"('save' | translate | async) + ' ' + ('create-new' | translate | async)\"\n (onClick)=\"handleSaveAndNewClick(form)\">\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-button>\n }@else {\n <ax-button look=\"solid\" color=\"primary\" [text]=\"'save' | translate | async\" (onClick)=\"handleSaveClick(form)\">\n <ax-loading *ngIf=\"vm.isInProgress()\"></ax-loading>\n </ax-button>\n }\n </ax-suffix>\n </ax-footer>\n</div>"],"names":["i5","i8","i9"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-platform-themes-default-entity-master-create-view.component-LKhN00ob.mjs","sources":["../../../../libs/platform/themes/default/src/lib/layouts/entity-layouts/entity-master-create-view/entity-master-create-view.component.ts","../../../../libs/platform/themes/default/src/lib/layouts/entity-layouts/entity-master-create-view/entity-master-create-view.component.html"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDialogModule } from '@acorex/components/dialog';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXFormComponent, AXFormModule } from '@acorex/components/form';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXTabsModule } from '@acorex/components/tabs';\nimport { AXTooltipModule } from '@acorex/components/tooltip';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, viewChild } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { AXValidationModule } from '@acorex/core/validation';\n\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPGridLayoutDirective } from '@acorex/platform/common';\nimport {\n AXPLayoutBuilderModule,\n AXPLayoutContextChangeEvent,\n AXPPageStatus,\n AXPWidgetContainerComponent,\n} from '@acorex/platform/layout/builder';\nimport { AXPEntityMasterCreateViewModel } from '@acorex/platform/layout/entity';\nimport { AXPWidgetsModule } from '@acorex/platform/widgets';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\n\n@Component({\n templateUrl: './entity-master-create-view.component.html',\n imports: [\n CommonModule,\n FormsModule,\n AXFormModule,\n AXDecoratorModule,\n CommonModule,\n AXButtonModule,\n AXDialogModule,\n AXLoadingModule,\n AXTabsModule,\n AXTooltipModule,\n AXValidationModule,\n AXLabelModule,\n AXDropdownModule,\n AXDropdownButtonModule,\n AXTranslationModule,\n //\n AXPLayoutBuilderModule,\n AXPWidgetsModule,\n AXPGridLayoutDirective,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPEntityMasterCreateViewComponent extends AXBasePageComponent {\n protected vm!: AXPEntityMasterCreateViewModel;\n\n private container = viewChild(AXPWidgetContainerComponent);\n\n protected workflow = inject(AXPWorkflowService);\n\n ngAfterViewInit() {\n this.vm.builder = this.container()!.builderService;\n }\n\n protected handleCloseClick() {\n this.close();\n }\n\n protected async handleBackClick() {\n //await this.vm.executeCommand('back');\n }\n\n protected async handleNextClick(form: AXFormComponent) {\n // const formResult = await form.validate();\n // if (formResult.result) {\n // await this.vm.executeCommand('next');\n // }\n }\n\n protected async handleSaveClick(form: AXFormComponent) {\n const formResult = await form.validate();\n if (formResult.result) {\n try {\n const record = await this.vm.save();\n\n this.close({ save: true, recordId: record?.id, item: record, redirect: this.vm.redirect() });\n } catch (error) {\n console.log(error);\n }\n }\n }\n\n protected async handleSaveAndNewClick(form: AXFormComponent) {\n const formResult = await form.validate();\n if (formResult.result) {\n try {\n const record = await this.vm.save();\n this.close({ save: true, recordId: record?.id, item: record, redirect: false });\n await this.vm.createNewOne();\n } catch (error) {\n console.log(error);\n }\n }\n }\n\n protected async handleContextChange(e: AXPLayoutContextChangeEvent) {\n this.vm.context.set(e.data);\n }\n}\n","<div>\n <axp-widgets-container [context]=\"vm.context()\" (onContextChanged)=\"handleContextChange($event)\">\n <ax-form class=\"ax-flex ax-flex-col ax-gap-6 ax-p-4 ax-pb-8\" #form [messageStyle]=\"'bottom'\" [updateOn]=\"'blur'\">\n <!-- Begin Sections -->\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n @for(section of vm.sections(); track section.name()) {\n <div class=\"ax-col-span-12\">\n <ax-form #form>\n @if(vm.sections().length>1 && !section.description()) {\n <div class=\"ax-pb-4\">\n <span class=\"ax-font-bold ax-text-xl\">{{ section.title() | translate | async }}</span>\n @if(section.description()) {\n <p class=\"ax-text-sm ax-text-gray-500\">{{ section.description() }}</p>\n }\n </div>\n }\n <div class=\"ax-card-body !ax-grid !ax-grid-cols-12 !ax-gap-4\">\n @for(attr of section.elements(); track $index) {\n <ax-form-field class=\"ax-flex ax-flex-col ax-gap-1\" [gridLayout]=\"attr.layout()\"\n [class.ax-hidden]=\"widget.options()['visibility'] == false\">\n <ax-label class=\"ax-font-semibold ax-text-sm\" [required]=\"attr.isRequired()\">{{\n attr.title() | translate | async\n }}</ax-label>\n <ng-container axp-widget-renderer [node]=\"attr.node()\" [mode]=\"'edit'\"\n #widget=\"widgetRenderer\"></ng-container>\n </ax-form-field>\n }\n </div>\n </ax-form>\n </div>\n }\n </div>\n <!-- Finish Sections -->\n </ax-form>\n </axp-widgets-container>\n <ax-footer>\n <ax-suffix>\n <ax-button look=\"solid\" [color]=\"'default'\" [text]=\"'cancel' | translate | async\" (onClick)=\"handleCloseClick()\">\n </ax-button>\n @if(vm.canCreateNewOne()) {\n <ax-dropdown-button [disabled]=\"vm.isInProgress()\" color=\"primary\" [text]=\"'save' | translate | async\"\n look=\"solid\" (onClick)=\"handleSaveClick(form)\">\n <ax-loading *ngIf=\"vm.isInProgress()\"></ax-loading>\n <ax-button-item-list>\n <ax-button-item [text]=\"('save' | translate | async) + ' ' + ('create-new' | translate | async)\"\n (onClick)=\"handleSaveAndNewClick(form)\">\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-button>\n }@else {\n <ax-button look=\"solid\" color=\"primary\" [text]=\"'save' | translate | async\" (onClick)=\"handleSaveClick(form)\">\n <ax-loading *ngIf=\"vm.isInProgress()\"></ax-loading>\n </ax-button>\n }\n </ax-suffix>\n </ax-footer>\n</div>"],"names":["i8","i9"],"mappings":"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"}
|