@masterteam/delegations 0.0.5 → 0.0.7
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/assets/delegations.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
|
|
2
|
-
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-700:oklch(50.5% .213 27.518);--color-green-700:oklch(52.7% .154 150.069);--color-slate-900:oklch(20.8% .042 265.755);--spacing:.25rem;--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-semibold:600;--tracking-tight:-.025em;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\!absolute{position:absolute!important}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.mx-1{margin-inline:calc(var(--spacing) * 1)}.my-4{margin-block:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-7{margin-top:calc(var(--spacing) * 7)}.flex{display:flex}.\!w
|
|
2
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-700:oklch(50.5% .213 27.518);--color-green-700:oklch(52.7% .154 150.069);--color-slate-900:oklch(20.8% .042 265.755);--spacing:.25rem;--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-semibold:600;--tracking-tight:-.025em;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\!absolute{position:absolute!important}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.mx-1{margin-inline:calc(var(--spacing) * 1)}.my-4{margin-block:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-7{margin-top:calc(var(--spacing) * 7)}.flex{display:flex}.grid{display:grid}.\!w-\[min\(96vw\,50rem\)\]{width:min(96vw,50rem)!important}.\!w-full{width:100%!important}.w-full{width:100%}.\!max-w-\[96vw\]{max-width:96vw!important}.\!max-w-full{max-width:100%!important}.min-w-0{min-width:calc(var(--spacing) * 0)}.shrink-0{flex-shrink:0}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-start{justify-content:flex-start}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.p-4{padding:calc(var(--spacing) * 4)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-green-700{color:var(--color-green-700)}.text-red-700{color:var(--color-red-700)}.text-slate-900{color:var(--color-slate-900)}.\!shadow-none{--tw-shadow:0 0 #0000!important;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)!important}@media not all and (min-width:1025px){.max-\[1025px\]\:p-4{padding:calc(var(--spacing) * 4)}}@media not all and (min-width:640px){.max-\[640px\]\:p-3{padding:calc(var(--spacing) * 3)}}@media (min-width:40rem){.sm\:\!w-\[42rem\]{width:42rem!important}.sm\:w-auto{width:auto}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-end{justify-content:flex-end}}@media (min-width:64rem){.lg\:col-span-6{grid-column:span 6/span 6}.lg\:col-span-12{grid-column:span 12/span 12}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}}@media (min-width:80rem){.xl\:\!w-\[50rem\]{width:50rem!important}}}@keyframes enter{0%{opacity:var(--p-enter-opacity,1);transform:translate3d(var(--p-enter-translate-x,0), var(--p-enter-translate-y,0), 0) scale3d(var(--p-enter-scale,1), var(--p-enter-scale,1), var(--p-enter-scale,1)) rotate(var(--p-enter-rotate,0))}}@keyframes leave{to{opacity:var(--p-leave-opacity,1);transform:translate3d(var(--p-leave-translate-x,0), var(--p-leave-translate-y,0), 0) scale3d(var(--p-leave-scale,1), var(--p-leave-scale,1), var(--p-leave-scale,1)) rotate(var(--p-leave-rotate,0))}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
|
|
@@ -27,12 +27,12 @@ class Delegations {
|
|
|
27
27
|
goBack() {
|
|
28
28
|
this.router.navigate(['control-panel/product-settings']);
|
|
29
29
|
}
|
|
30
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
31
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.
|
|
30
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: Delegations, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
31
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: Delegations, isStandalone: true, selector: "mt-delegations", ngImport: i0, template: "<ng-container *transloco=\"let t\">\r\n <mt-page\r\n [title]=\"t('delegations.delegations')\"\r\n [avatarIcon]=\"'custom.hierarchy-structure'\"\r\n [contentClass]=\"'max-[1025px]:p-4 max-[640px]:p-3'\"\r\n [avatarStyle]=\"{\r\n '--p-avatar-background': 'var(--p-indigo-50)',\r\n '--p-avatar-color': 'var(--p-indigo-700)',\r\n }\"\r\n (backButtonClick)=\"goBack()\"\r\n backButton\r\n >\r\n <router-outlet />\r\n </mt-page>\r\n</ng-container>\r\n", styles: [""], dependencies: [{ kind: "component", type: Page, selector: "mt-page", inputs: ["backButton", "backButtonIcon", "avatarIcon", "avatarStyle", "avatarShape", "title", "tabs", "activeTab", "contentClass", "contentId"], outputs: ["backButtonClick", "tabChange"] }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }] });
|
|
32
32
|
}
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: Delegations, decorators: [{
|
|
34
34
|
type: Component,
|
|
35
|
-
args: [{ selector: 'mt-delegations', imports: [Page, RouterOutlet, TranslocoDirective], template: "<ng-container *transloco=\"let t\">\r\n <mt-page\r\n [title]=\"t('delegations.delegations')\"\r\n [avatarIcon]=\"'custom.hierarchy-structure'\"\r\n [avatarStyle]=\"{\r\n '--p-avatar-background': 'var(--p-indigo-50)',\r\n '--p-avatar-color': 'var(--p-indigo-700)',\r\n }\"\r\n (backButtonClick)=\"goBack()\"\r\n backButton\r\n >\r\n <router-outlet />\r\n </mt-page>\r\n</ng-container>\r\n" }]
|
|
35
|
+
args: [{ selector: 'mt-delegations', imports: [Page, RouterOutlet, TranslocoDirective], template: "<ng-container *transloco=\"let t\">\r\n <mt-page\r\n [title]=\"t('delegations.delegations')\"\r\n [avatarIcon]=\"'custom.hierarchy-structure'\"\r\n [contentClass]=\"'max-[1025px]:p-4 max-[640px]:p-3'\"\r\n [avatarStyle]=\"{\r\n '--p-avatar-background': 'var(--p-indigo-50)',\r\n '--p-avatar-color': 'var(--p-indigo-700)',\r\n }\"\r\n (backButtonClick)=\"goBack()\"\r\n backButton\r\n >\r\n <router-outlet />\r\n </mt-page>\r\n</ng-container>\r\n" }]
|
|
36
36
|
}] });
|
|
37
37
|
|
|
38
38
|
var DelegationsActionKey;
|
|
@@ -163,8 +163,8 @@ let DelegationsState = class DelegationsState extends CrudStateBase {
|
|
|
163
163
|
clearSelectedDelegation(ctx) {
|
|
164
164
|
ctx.patchState({ selectedDelegation: null });
|
|
165
165
|
}
|
|
166
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
167
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.
|
|
166
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: DelegationsState, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
167
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: DelegationsState });
|
|
168
168
|
};
|
|
169
169
|
__decorate([
|
|
170
170
|
Action(GetDelegations)
|
|
@@ -207,7 +207,7 @@ DelegationsState = __decorate([
|
|
|
207
207
|
},
|
|
208
208
|
})
|
|
209
209
|
], DelegationsState);
|
|
210
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
210
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: DelegationsState, decorators: [{
|
|
211
211
|
type: Injectable
|
|
212
212
|
}], propDecorators: { getDelegations: [], getDelegation: [], addDelegation: [], updateDelegation: [], deleteDelegation: [], clearSelectedDelegation: [] } });
|
|
213
213
|
|
|
@@ -226,24 +226,24 @@ class DelegationsFacade {
|
|
|
226
226
|
// ============================================================================
|
|
227
227
|
// Loading Signals - Computed from slice (minimal reactivity)
|
|
228
228
|
// ============================================================================
|
|
229
|
-
isLoadingDelegations = computed(() => this.loadingActive().includes(DelegationsActionKey.GetDelegations), ...(ngDevMode ? [{ debugName: "isLoadingDelegations" }] : []));
|
|
230
|
-
isLoadingDelegation = computed(() => this.loadingActive().includes(DelegationsActionKey.GetDelegationForm), ...(ngDevMode ? [{ debugName: "isLoadingDelegation" }] : []));
|
|
231
|
-
isAddingDelegation = computed(() => this.loadingActive().includes(DelegationsActionKey.AddDelegation), ...(ngDevMode ? [{ debugName: "isAddingDelegation" }] : []));
|
|
232
|
-
isUpdatingDelegation = computed(() => this.loadingActive().includes(DelegationsActionKey.UpdateDelegation), ...(ngDevMode ? [{ debugName: "isUpdatingDelegation" }] : []));
|
|
233
|
-
isDeletingDelegation = computed(() => this.loadingActive().includes(DelegationsActionKey.DeleteDelegation), ...(ngDevMode ? [{ debugName: "isDeletingDelegation" }] : []));
|
|
229
|
+
isLoadingDelegations = computed(() => this.loadingActive().includes(DelegationsActionKey.GetDelegations), ...(ngDevMode ? [{ debugName: "isLoadingDelegations" }] : /* istanbul ignore next */ []));
|
|
230
|
+
isLoadingDelegation = computed(() => this.loadingActive().includes(DelegationsActionKey.GetDelegationForm), ...(ngDevMode ? [{ debugName: "isLoadingDelegation" }] : /* istanbul ignore next */ []));
|
|
231
|
+
isAddingDelegation = computed(() => this.loadingActive().includes(DelegationsActionKey.AddDelegation), ...(ngDevMode ? [{ debugName: "isAddingDelegation" }] : /* istanbul ignore next */ []));
|
|
232
|
+
isUpdatingDelegation = computed(() => this.loadingActive().includes(DelegationsActionKey.UpdateDelegation), ...(ngDevMode ? [{ debugName: "isUpdatingDelegation" }] : /* istanbul ignore next */ []));
|
|
233
|
+
isDeletingDelegation = computed(() => this.loadingActive().includes(DelegationsActionKey.DeleteDelegation), ...(ngDevMode ? [{ debugName: "isDeletingDelegation" }] : /* istanbul ignore next */ []));
|
|
234
234
|
// ============================================================================
|
|
235
235
|
// Error Signals - Computed from slice (minimal reactivity)
|
|
236
236
|
// ============================================================================
|
|
237
|
-
delegationsError = computed(() => this.errors()[DelegationsActionKey.GetDelegations] ?? null, ...(ngDevMode ? [{ debugName: "delegationsError" }] : []));
|
|
238
|
-
delegationError = computed(() => this.errors()[DelegationsActionKey.GetDelegationForm] ?? null, ...(ngDevMode ? [{ debugName: "delegationError" }] : []));
|
|
239
|
-
addDelegationError = computed(() => this.errors()[DelegationsActionKey.AddDelegation] ?? null, ...(ngDevMode ? [{ debugName: "addDelegationError" }] : []));
|
|
240
|
-
updateDelegationError = computed(() => this.errors()[DelegationsActionKey.UpdateDelegation] ?? null, ...(ngDevMode ? [{ debugName: "updateDelegationError" }] : []));
|
|
241
|
-
deleteDelegationError = computed(() => this.errors()[DelegationsActionKey.DeleteDelegation] ?? null, ...(ngDevMode ? [{ debugName: "deleteDelegationError" }] : []));
|
|
237
|
+
delegationsError = computed(() => this.errors()[DelegationsActionKey.GetDelegations] ?? null, ...(ngDevMode ? [{ debugName: "delegationsError" }] : /* istanbul ignore next */ []));
|
|
238
|
+
delegationError = computed(() => this.errors()[DelegationsActionKey.GetDelegationForm] ?? null, ...(ngDevMode ? [{ debugName: "delegationError" }] : /* istanbul ignore next */ []));
|
|
239
|
+
addDelegationError = computed(() => this.errors()[DelegationsActionKey.AddDelegation] ?? null, ...(ngDevMode ? [{ debugName: "addDelegationError" }] : /* istanbul ignore next */ []));
|
|
240
|
+
updateDelegationError = computed(() => this.errors()[DelegationsActionKey.UpdateDelegation] ?? null, ...(ngDevMode ? [{ debugName: "updateDelegationError" }] : /* istanbul ignore next */ []));
|
|
241
|
+
deleteDelegationError = computed(() => this.errors()[DelegationsActionKey.DeleteDelegation] ?? null, ...(ngDevMode ? [{ debugName: "deleteDelegationError" }] : /* istanbul ignore next */ []));
|
|
242
242
|
// ============================================================================
|
|
243
243
|
// Derived Data - Computed from data selectors
|
|
244
244
|
// ============================================================================
|
|
245
|
-
activeDelegations = computed(() => this.allDelegations().filter((d) => d.isActive === true), ...(ngDevMode ? [{ debugName: "activeDelegations" }] : []));
|
|
246
|
-
inactiveDelegations = computed(() => this.allDelegations().filter((d) => d.isActive === false), ...(ngDevMode ? [{ debugName: "inactiveDelegations" }] : []));
|
|
245
|
+
activeDelegations = computed(() => this.allDelegations().filter((d) => d.isActive === true), ...(ngDevMode ? [{ debugName: "activeDelegations" }] : /* istanbul ignore next */ []));
|
|
246
|
+
inactiveDelegations = computed(() => this.allDelegations().filter((d) => d.isActive === false), ...(ngDevMode ? [{ debugName: "inactiveDelegations" }] : /* istanbul ignore next */ []));
|
|
247
247
|
// ============================================================================
|
|
248
248
|
// Action Dispatchers
|
|
249
249
|
// ============================================================================
|
|
@@ -265,18 +265,20 @@ class DelegationsFacade {
|
|
|
265
265
|
clearSelectedDelegation() {
|
|
266
266
|
return this.store.dispatch(new ClearSelectedDelegation());
|
|
267
267
|
}
|
|
268
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
269
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.
|
|
268
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: DelegationsFacade, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
269
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: DelegationsFacade, providedIn: 'root' });
|
|
270
270
|
}
|
|
271
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
271
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: DelegationsFacade, decorators: [{
|
|
272
272
|
type: Injectable,
|
|
273
273
|
args: [{ providedIn: 'root' }]
|
|
274
274
|
}] });
|
|
275
275
|
|
|
276
276
|
class DelegationForm {
|
|
277
|
+
halfWidthFieldClass = 'flex flex-col gap-1 lg:col-span-6';
|
|
278
|
+
fullWidthFieldClass = 'flex flex-col gap-1 lg:col-span-12';
|
|
277
279
|
modal = inject(ModalService);
|
|
278
280
|
ref = inject(ModalRef);
|
|
279
|
-
delegationForEdit = input(null, ...(ngDevMode ? [{ debugName: "delegationForEdit" }] : []));
|
|
281
|
+
delegationForEdit = input(null, ...(ngDevMode ? [{ debugName: "delegationForEdit" }] : /* istanbul ignore next */ []));
|
|
280
282
|
translocoService = inject(TranslocoService);
|
|
281
283
|
facade = inject(DelegationsFacade);
|
|
282
284
|
selectedDelegation = this.facade.selectedDelegation;
|
|
@@ -293,7 +295,7 @@ class DelegationForm {
|
|
|
293
295
|
const fromId = formValue.delegateFrom?.id || formValue.delegateFrom;
|
|
294
296
|
const toId = formValue.delegateTo?.id || formValue.delegateTo;
|
|
295
297
|
return fromId === toId;
|
|
296
|
-
}, ...(ngDevMode ? [{ debugName: "isDelegatingToSelf" }] : []));
|
|
298
|
+
}, ...(ngDevMode ? [{ debugName: "isDelegatingToSelf" }] : /* istanbul ignore next */ []));
|
|
297
299
|
specificDaysOptions = signal([
|
|
298
300
|
{
|
|
299
301
|
label: this.translocoService.translate('delegations.sunday'),
|
|
@@ -323,12 +325,13 @@ class DelegationForm {
|
|
|
323
325
|
label: this.translocoService.translate('delegations.saturday'),
|
|
324
326
|
value: 6,
|
|
325
327
|
},
|
|
326
|
-
], ...(ngDevMode ? [{ debugName: "specificDaysOptions" }] : []));
|
|
328
|
+
], ...(ngDevMode ? [{ debugName: "specificDaysOptions" }] : /* istanbul ignore next */ []));
|
|
327
329
|
delegationFormConfig = computed(() => ({
|
|
328
330
|
sections: [
|
|
329
331
|
{
|
|
330
332
|
key: 'delegationFormConfig',
|
|
331
333
|
type: 'header',
|
|
334
|
+
bodyClass: 'grid grid-cols-1 gap-4 items-start lg:grid-cols-12',
|
|
332
335
|
order: 1,
|
|
333
336
|
fields: [
|
|
334
337
|
new UserSearchFieldConfig({
|
|
@@ -338,6 +341,7 @@ class DelegationForm {
|
|
|
338
341
|
context: this.context,
|
|
339
342
|
validators: [ValidatorConfig.required()],
|
|
340
343
|
order: 1,
|
|
344
|
+
cssClass: this.halfWidthFieldClass,
|
|
341
345
|
colSpan: 6,
|
|
342
346
|
disabled: !!this.delegationForEdit()?.id,
|
|
343
347
|
}),
|
|
@@ -348,6 +352,7 @@ class DelegationForm {
|
|
|
348
352
|
context: this.context,
|
|
349
353
|
validators: [ValidatorConfig.required()],
|
|
350
354
|
order: 2,
|
|
355
|
+
cssClass: this.halfWidthFieldClass,
|
|
351
356
|
colSpan: 6,
|
|
352
357
|
disabled: !!this.delegationForEdit()?.id,
|
|
353
358
|
}),
|
|
@@ -355,6 +360,7 @@ class DelegationForm {
|
|
|
355
360
|
key: 'description',
|
|
356
361
|
label: this.translocoService.translate('delegations.description'),
|
|
357
362
|
placeholder: this.translocoService.translate('delegations.description'),
|
|
363
|
+
cssClass: this.fullWidthFieldClass,
|
|
358
364
|
colSpan: 12,
|
|
359
365
|
order: 3,
|
|
360
366
|
}),
|
|
@@ -364,6 +370,7 @@ class DelegationForm {
|
|
|
364
370
|
placeholder: this.translocoService.translate('delegations.delegation-date-from'),
|
|
365
371
|
validators: [ValidatorConfig.required()],
|
|
366
372
|
showTime: true,
|
|
373
|
+
cssClass: this.halfWidthFieldClass,
|
|
367
374
|
colSpan: 6,
|
|
368
375
|
order: 4,
|
|
369
376
|
}),
|
|
@@ -373,6 +380,7 @@ class DelegationForm {
|
|
|
373
380
|
placeholder: this.translocoService.translate('delegations.delegation-date-to'),
|
|
374
381
|
validators: [ValidatorConfig.required()],
|
|
375
382
|
showTime: true,
|
|
383
|
+
cssClass: this.halfWidthFieldClass,
|
|
376
384
|
colSpan: 6,
|
|
377
385
|
order: 5,
|
|
378
386
|
}),
|
|
@@ -392,6 +400,7 @@ class DelegationForm {
|
|
|
392
400
|
optionLabel: 'label',
|
|
393
401
|
optionValue: 'value',
|
|
394
402
|
validators: [ValidatorConfig.required()],
|
|
403
|
+
cssClass: this.fullWidthFieldClass,
|
|
395
404
|
colSpan: 12,
|
|
396
405
|
order: 6,
|
|
397
406
|
}),
|
|
@@ -409,19 +418,20 @@ class DelegationForm {
|
|
|
409
418
|
action: 'show',
|
|
410
419
|
},
|
|
411
420
|
],
|
|
421
|
+
cssClass: this.fullWidthFieldClass,
|
|
412
422
|
colSpan: 12,
|
|
413
423
|
order: 7,
|
|
414
424
|
}),
|
|
415
425
|
new ToggleFieldConfig({
|
|
416
426
|
key: 'isActive',
|
|
417
427
|
label: this.translocoService.translate('delegations.active-delegation'),
|
|
418
|
-
cssClass:
|
|
428
|
+
cssClass: `${this.fullWidthFieldClass} mt-5`,
|
|
419
429
|
order: 8,
|
|
420
430
|
}),
|
|
421
431
|
],
|
|
422
432
|
},
|
|
423
433
|
],
|
|
424
|
-
}), ...(ngDevMode ? [{ debugName: "delegationFormConfig" }] : []));
|
|
434
|
+
}), ...(ngDevMode ? [{ debugName: "delegationFormConfig" }] : /* istanbul ignore next */ []));
|
|
425
435
|
constructor() {
|
|
426
436
|
effect(() => {
|
|
427
437
|
const delegationId = this.delegationForEdit()?.id;
|
|
@@ -492,10 +502,10 @@ class DelegationForm {
|
|
|
492
502
|
});
|
|
493
503
|
}
|
|
494
504
|
}
|
|
495
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
496
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.
|
|
505
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: DelegationForm, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
506
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", type: DelegationForm, isStandalone: true, selector: "mt-delegation-form", inputs: { delegationForEdit: { classPropertyName: "delegationForEdit", publicName: "delegationForEdit", isSignal: true, isRequired: false, transformFunction: null } }, providers: [DialogService], ngImport: i0, template: "<ng-container *transloco=\"let t; prefix: 'delegations'\">\r\n <div\r\n [class]=\"\r\n 'delegation-form-content flex min-w-0 flex-col gap-3 overflow-x-hidden p-4 max-[640px]:p-3 ' +\r\n modal.contentClass\r\n \"\r\n >\r\n @if (getDelegationFormLoading()) {\r\n <p-skeleton class=\"my-4 mt-7\" height=\"3rem\" />\r\n <p-skeleton class=\"my-4\" height=\"3rem\" />\r\n <p-skeleton class=\"my-4\" height=\"6rem\" />\r\n <p-skeleton class=\"my-4\" height=\"3rem\" />\r\n } @else {\r\n <mt-dynamic-form\r\n [formConfig]=\"delegationFormConfig()\"\r\n [formControl]=\"delegationFormControl\"\r\n />\r\n }\r\n </div>\r\n\r\n <div\r\n [class]=\"\r\n 'delegation-form-footer ' +\r\n modal.footerClass +\r\n ' flex-col gap-2 sm:flex-row sm:items-center sm:justify-end'\r\n \"\r\n >\r\n <mt-button\r\n [label]=\"'cancel' | transloco\"\r\n severity=\"secondary\"\r\n variant=\"outlined\"\r\n (click)=\"ref.close()\"\r\n styleClass=\"w-full sm:w-auto\"\r\n />\r\n <mt-button\r\n [label]=\"delegationForEdit() ? t('update') : t('create')\"\r\n [loading]=\"isAddingDelegation() || isUpdatingDelegation()\"\r\n [disabled]=\"!delegationFormControl.valid || isDelegatingToSelf()\"\r\n (click)=\"onSubmit()\"\r\n styleClass=\"w-full sm:w-auto\"\r\n />\r\n </div>\r\n</ng-container>\r\n", styles: [":host{display:block;min-width:0}:host ::ng-deep .delegation-form-content{min-width:0}:host ::ng-deep .delegation-form-footer{height:auto!important;min-height:0!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: Button, selector: "mt-button", inputs: ["icon", "label", "tooltip", "class", "type", "styleClass", "severity", "badge", "variant", "badgeSeverity", "size", "iconPos", "autofocus", "fluid", "raised", "rounded", "text", "plain", "outlined", "link", "disabled", "loading", "pInputs"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "ngmodule", type: SkeletonModule }, { kind: "component", type: i1.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "component", type: DynamicForm, selector: "mt-dynamic-form", inputs: ["formConfig", "forcedHiddenFieldKeys", "preserveForcedHiddenValues", "visibleSectionKeys"], outputs: ["runtimeMessagesChange"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: TranslocoPipe, name: "transloco" }] });
|
|
497
507
|
}
|
|
498
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
508
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: DelegationForm, decorators: [{
|
|
499
509
|
type: Component,
|
|
500
510
|
args: [{ selector: 'mt-delegation-form', standalone: true, imports: [
|
|
501
511
|
CommonModule,
|
|
@@ -505,7 +515,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImpor
|
|
|
505
515
|
DynamicForm,
|
|
506
516
|
ReactiveFormsModule,
|
|
507
517
|
TranslocoPipe,
|
|
508
|
-
], providers: [DialogService], template: "<ng-container *transloco=\"let t; prefix: 'delegations'\">\r\n <div
|
|
518
|
+
], providers: [DialogService], template: "<ng-container *transloco=\"let t; prefix: 'delegations'\">\r\n <div\r\n [class]=\"\r\n 'delegation-form-content flex min-w-0 flex-col gap-3 overflow-x-hidden p-4 max-[640px]:p-3 ' +\r\n modal.contentClass\r\n \"\r\n >\r\n @if (getDelegationFormLoading()) {\r\n <p-skeleton class=\"my-4 mt-7\" height=\"3rem\" />\r\n <p-skeleton class=\"my-4\" height=\"3rem\" />\r\n <p-skeleton class=\"my-4\" height=\"6rem\" />\r\n <p-skeleton class=\"my-4\" height=\"3rem\" />\r\n } @else {\r\n <mt-dynamic-form\r\n [formConfig]=\"delegationFormConfig()\"\r\n [formControl]=\"delegationFormControl\"\r\n />\r\n }\r\n </div>\r\n\r\n <div\r\n [class]=\"\r\n 'delegation-form-footer ' +\r\n modal.footerClass +\r\n ' flex-col gap-2 sm:flex-row sm:items-center sm:justify-end'\r\n \"\r\n >\r\n <mt-button\r\n [label]=\"'cancel' | transloco\"\r\n severity=\"secondary\"\r\n variant=\"outlined\"\r\n (click)=\"ref.close()\"\r\n styleClass=\"w-full sm:w-auto\"\r\n />\r\n <mt-button\r\n [label]=\"delegationForEdit() ? t('update') : t('create')\"\r\n [loading]=\"isAddingDelegation() || isUpdatingDelegation()\"\r\n [disabled]=\"!delegationFormControl.valid || isDelegatingToSelf()\"\r\n (click)=\"onSubmit()\"\r\n styleClass=\"w-full sm:w-auto\"\r\n />\r\n </div>\r\n</ng-container>\r\n", styles: [":host{display:block;min-width:0}:host ::ng-deep .delegation-form-content{min-width:0}:host ::ng-deep .delegation-form-footer{height:auto!important;min-height:0!important}\n"] }]
|
|
509
519
|
}], ctorParameters: () => [], propDecorators: { delegationForEdit: [{ type: i0.Input, args: [{ isSignal: true, alias: "delegationForEdit", required: false }] }] } });
|
|
510
520
|
|
|
511
521
|
class DelegationsList {
|
|
@@ -531,7 +541,7 @@ class DelegationsList {
|
|
|
531
541
|
{
|
|
532
542
|
label: this.translocoService.translate('delegations.delegations'),
|
|
533
543
|
},
|
|
534
|
-
], ...(ngDevMode ? [{ debugName: "breadcrumbItems" }] : []));
|
|
544
|
+
], ...(ngDevMode ? [{ debugName: "breadcrumbItems" }] : /* istanbul ignore next */ []));
|
|
535
545
|
delegations = computed(() => {
|
|
536
546
|
const tab = this.activeTab();
|
|
537
547
|
const all = this.allDelegations();
|
|
@@ -546,7 +556,7 @@ class DelegationsList {
|
|
|
546
556
|
default:
|
|
547
557
|
return all;
|
|
548
558
|
}
|
|
549
|
-
}, ...(ngDevMode ? [{ debugName: "delegations" }] : []));
|
|
559
|
+
}, ...(ngDevMode ? [{ debugName: "delegations" }] : /* istanbul ignore next */ []));
|
|
550
560
|
tabs = signal([
|
|
551
561
|
{
|
|
552
562
|
label: this.translocoService.translate('delegations.all'),
|
|
@@ -560,8 +570,8 @@ class DelegationsList {
|
|
|
560
570
|
label: this.translocoService.translate('delegations.inactive'),
|
|
561
571
|
value: 'inactive',
|
|
562
572
|
},
|
|
563
|
-
], ...(ngDevMode ? [{ debugName: "tabs" }] : []));
|
|
564
|
-
activeTab = signal('all', ...(ngDevMode ? [{ debugName: "activeTab" }] : []));
|
|
573
|
+
], ...(ngDevMode ? [{ debugName: "tabs" }] : /* istanbul ignore next */ []));
|
|
574
|
+
activeTab = signal('all', ...(ngDevMode ? [{ debugName: "activeTab" }] : /* istanbul ignore next */ []));
|
|
565
575
|
tableActions = signal([
|
|
566
576
|
{
|
|
567
577
|
icon: 'general.plus',
|
|
@@ -571,8 +581,8 @@ class DelegationsList {
|
|
|
571
581
|
this.addDelegationDialog();
|
|
572
582
|
},
|
|
573
583
|
},
|
|
574
|
-
], ...(ngDevMode ? [{ debugName: "tableActions" }] : []));
|
|
575
|
-
deletingRowIds = signal([], ...(ngDevMode ? [{ debugName: "deletingRowIds" }] : []));
|
|
584
|
+
], ...(ngDevMode ? [{ debugName: "tableActions" }] : /* istanbul ignore next */ []));
|
|
585
|
+
deletingRowIds = signal([], ...(ngDevMode ? [{ debugName: "deletingRowIds" }] : /* istanbul ignore next */ []));
|
|
576
586
|
rowActions = signal([
|
|
577
587
|
{
|
|
578
588
|
icon: 'custom.pencil',
|
|
@@ -603,7 +613,7 @@ class DelegationsList {
|
|
|
603
613
|
},
|
|
604
614
|
loading: (row) => this.deletingRowIds().includes(row.id),
|
|
605
615
|
},
|
|
606
|
-
], ...(ngDevMode ? [{ debugName: "rowActions" }] : []));
|
|
616
|
+
], ...(ngDevMode ? [{ debugName: "rowActions" }] : /* istanbul ignore next */ []));
|
|
607
617
|
tableColumns = linkedSignal(() => [
|
|
608
618
|
{
|
|
609
619
|
key: 'isActive',
|
|
@@ -663,7 +673,7 @@ class DelegationsList {
|
|
|
663
673
|
type: 'custom',
|
|
664
674
|
customCellTpl: this.daysCol(),
|
|
665
675
|
},
|
|
666
|
-
], ...(ngDevMode ? [{ debugName: "tableColumns" }] : []));
|
|
676
|
+
], ...(ngDevMode ? [{ debugName: "tableColumns" }] : /* istanbul ignore next */ []));
|
|
667
677
|
loading = this.facade.isLoadingDelegations;
|
|
668
678
|
allDelegations = this.facade.allDelegations;
|
|
669
679
|
activeDelegations = this.facade.activeDelegations;
|
|
@@ -673,11 +683,14 @@ class DelegationsList {
|
|
|
673
683
|
}
|
|
674
684
|
addDelegationDialog(delegation = null) {
|
|
675
685
|
const modalType = delegation ? 'drawer' : 'dialog';
|
|
686
|
+
const styleClass = modalType === 'drawer'
|
|
687
|
+
? '!absolute !shadow-none !w-full !max-w-full sm:!w-[42rem] xl:!w-[50rem]'
|
|
688
|
+
: '!w-[min(96vw,50rem)] !max-w-[96vw]';
|
|
676
689
|
this.modal.openModal(DelegationForm, modalType, {
|
|
677
690
|
header: delegation
|
|
678
691
|
? this.translocoService.translate('delegations.edit-delegation')
|
|
679
692
|
: this.translocoService.translate('delegations.add-delegation'),
|
|
680
|
-
styleClass
|
|
693
|
+
styleClass,
|
|
681
694
|
position: modalType === 'drawer' ? 'end' : '',
|
|
682
695
|
appendTo: modalType === 'drawer' ? 'page-content' : 'body',
|
|
683
696
|
dismissableMask: true,
|
|
@@ -687,10 +700,10 @@ class DelegationsList {
|
|
|
687
700
|
},
|
|
688
701
|
});
|
|
689
702
|
}
|
|
690
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
691
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.
|
|
703
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: DelegationsList, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
704
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.8", type: DelegationsList, isStandalone: true, selector: "mt-delegations-list", viewQueries: [{ propertyName: "statusCol", first: true, predicate: ["statusCol"], descendants: true, isSignal: true }, { propertyName: "userCol", first: true, predicate: ["userCol"], descendants: true, isSignal: true }, { propertyName: "userCol2", first: true, predicate: ["userCol2"], descendants: true, isSignal: true }, { propertyName: "daysCol", first: true, predicate: ["daysCol"], descendants: true, isSignal: true }, { propertyName: "startDate", first: true, predicate: ["startDate"], descendants: true, isSignal: true }, { propertyName: "endDate", first: true, predicate: ["endDate"], descendants: true, isSignal: true }], ngImport: i0, template: "<ng-container *transloco=\"let t; prefix: 'delegations'\">\r\n <div class=\"min-w-0 space-y-4\">\r\n <div class=\"flex min-w-0 items-center justify-between gap-4\">\r\n <div class=\"min-w-0 space-y-1\">\r\n <h1 class=\"text-xl font-semibold text-slate-900 tracking-tight\">\r\n {{ t(\"delegations\") }}\r\n </h1>\r\n <mt-breadcrumb\r\n [items]=\"breadcrumbItems()\"\r\n [styleClass]=\"'flex justify-start mx-1'\"\r\n ></mt-breadcrumb>\r\n </div>\r\n </div>\r\n <ng-template #statusCol let-row>\r\n <span\r\n class=\"flex items-center gap-2 text-md\"\r\n [class]=\"row.isActive ? 'text-green-700 ' : 'text-red-700 '\"\r\n >\r\n <mt-icon\r\n class=\"text-2xl\"\r\n [icon]=\"row.isActive ? 'media.play-circle' : 'media.pause-circle'\"\r\n ></mt-icon>\r\n {{ row.isActive ? t(\"active\") : t(\"inactive\") }}\r\n </span>\r\n </ng-template>\r\n\r\n <ng-template #userCol let-row>\r\n <div class=\"flex min-w-0 items-center gap-2\">\r\n <mt-avatar class=\"shrink-0\" [icon]=\"'custom.user-pp'\"></mt-avatar>\r\n <span class=\"truncate\">{{ row.delegateFrom?.displayName }}</span>\r\n </div>\r\n </ng-template>\r\n <ng-template #userCol2 let-row>\r\n <div class=\"flex min-w-0 items-center gap-2\">\r\n <mt-avatar class=\"shrink-0\" [icon]=\"'custom.user-pp'\"></mt-avatar>\r\n <span class=\"truncate\">{{ row.delegateTo?.displayName }}</span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #daysCol let-row>\r\n <div>{{ row.dayCounts }} {{ t(\"days\") }}</div>\r\n </ng-template>\r\n\r\n <ng-template #startDate let-row>\r\n <div>{{ row.delegateFromDateTime.displayValue }}</div>\r\n </ng-template>\r\n <ng-template #endDate let-row>\r\n <div>{{ row.delegateToDateTime.displayValue }}</div>\r\n </ng-template>\r\n\r\n <mt-table\r\n [tabs]=\"tabs()\"\r\n [(activeTab)]=\"activeTab\"\r\n [data]=\"delegations()\"\r\n [columns]=\"tableColumns()\"\r\n [actions]=\"tableActions()\"\r\n [rowActions]=\"rowActions()\"\r\n [generalSearch]=\"true\"\r\n [showFilters]=\"true\"\r\n [loading]=\"loading()\"\r\n storageKey=\"delegations-list-table\"\r\n >\r\n </mt-table>\r\n </div>\r\n</ng-container>\r\n", styles: [":host{display:block;min-width:0}:host ::ng-deep mt-table .p-datatable-header>div,:host ::ng-deep mt-table .p-datatable-header>div>div{gap:.75rem;min-width:0;flex-wrap:wrap}:host ::ng-deep mt-table .p-datatable-header mt-tabs{display:block;max-width:100%;overflow-x:auto;padding-bottom:.25rem}:host ::ng-deep mt-table .p-datatable-header mt-text-field{display:block;flex:1 1 16rem;min-width:min(100%,16rem)}:host ::ng-deep mt-table .p-datatable-header .p-inputtext,:host ::ng-deep mt-table .p-datatable-header .p-inputwrapper,:host ::ng-deep mt-table .p-datatable-header .p-selectbutton{width:100%;max-width:100%}@media(max-width:1024px){:host ::ng-deep mt-table .p-datatable-header>div{flex-direction:column;align-items:stretch}:host ::ng-deep mt-table .p-datatable-header>div>div{width:100%;justify-content:flex-start}:host ::ng-deep mt-table .p-datatable-header mt-text-field{flex-basis:100%;min-width:0}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: SkeletonModule }, { kind: "component", type: Table, selector: "mt-table", inputs: ["filters", "data", "columns", "rowActions", "size", "showGridlines", "stripedRows", "selectableRows", "clickableRows", "generalSearch", "lazyLocalSearch", "showFilters", "loading", "updating", "lazy", "lazyLocalSort", "lazyTotalRecords", "reorderableColumns", "reorderableRows", "dataKey", "storageKey", "storageMode", "exportable", "exportFilename", "actionShape", "tabs", "tabsOptionLabel", "tabsOptionValue", "activeTab", "actions", "paginatorPosition", "rowsPerPageOptions", "pageSize", "currentPage", "first", "filterTerm"], outputs: ["selectionChange", "cellChange", "lazyLoad", "columnReorder", "rowReorder", "rowClick", "filtersChange", "activeTabChange", "onTabChange", "pageSizeChange", "currentPageChange", "firstChange", "filterTermChange"] }, { kind: "component", type: Avatar, selector: "mt-avatar", inputs: ["label", "icon", "image", "styleClass", "size", "shape", "badge", "badgeSize", "badgeSeverity"], outputs: ["onImageError"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "component", type: Breadcrumb, selector: "mt-breadcrumb", inputs: ["items", "styleClass"], outputs: ["onItemClick"] }, { kind: "component", type: Icon, selector: "mt-icon", inputs: ["icon"] }] });
|
|
692
705
|
}
|
|
693
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
706
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: DelegationsList, decorators: [{
|
|
694
707
|
type: Component,
|
|
695
708
|
args: [{ selector: 'mt-delegations-list', standalone: true, imports: [
|
|
696
709
|
CommonModule,
|
|
@@ -700,7 +713,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImpor
|
|
|
700
713
|
TranslocoDirective,
|
|
701
714
|
Breadcrumb,
|
|
702
715
|
Icon,
|
|
703
|
-
], template: "<ng-container *transloco=\"let t; prefix: 'delegations'\">\r\n <div class=\"space-y-4\">\r\n <div class=\"flex items-center justify-between\">\r\n <div class=\"space-y-1\">\r\n <h1 class=\"text-xl font-semibold text-slate-900 tracking-tight\">\r\n {{ t(\"delegations\") }}\r\n </h1>\r\n <mt-breadcrumb\r\n [items]=\"breadcrumbItems()\"\r\n [styleClass]=\"'flex justify-start mx-1'\"\r\n ></mt-breadcrumb>\r\n </div>\r\n </div>\r\n <ng-template #statusCol let-row>\r\n <span\r\n class=\"flex items-center gap-2 text-md\"\r\n [class]=\"row.isActive ? 'text-green-700 ' : 'text-red-700 '\"\r\n >\r\n <mt-icon\r\n class=\"text-2xl\"\r\n [icon]=\"row.isActive ? 'media.play-circle' : 'media.pause-circle'\"\r\n ></mt-icon>\r\n {{ row.isActive ? t(\"active\") : t(\"inactive\") }}\r\n </span>\r\n </ng-template>\r\n\r\n <ng-template #userCol let-row>\r\n <div class=\"flex items-center gap-2\">\r\n <mt-avatar [icon]=\"'custom.user-pp'\"></mt-avatar>\r\n {{ row.delegateFrom?.displayName }}
|
|
716
|
+
], template: "<ng-container *transloco=\"let t; prefix: 'delegations'\">\r\n <div class=\"min-w-0 space-y-4\">\r\n <div class=\"flex min-w-0 items-center justify-between gap-4\">\r\n <div class=\"min-w-0 space-y-1\">\r\n <h1 class=\"text-xl font-semibold text-slate-900 tracking-tight\">\r\n {{ t(\"delegations\") }}\r\n </h1>\r\n <mt-breadcrumb\r\n [items]=\"breadcrumbItems()\"\r\n [styleClass]=\"'flex justify-start mx-1'\"\r\n ></mt-breadcrumb>\r\n </div>\r\n </div>\r\n <ng-template #statusCol let-row>\r\n <span\r\n class=\"flex items-center gap-2 text-md\"\r\n [class]=\"row.isActive ? 'text-green-700 ' : 'text-red-700 '\"\r\n >\r\n <mt-icon\r\n class=\"text-2xl\"\r\n [icon]=\"row.isActive ? 'media.play-circle' : 'media.pause-circle'\"\r\n ></mt-icon>\r\n {{ row.isActive ? t(\"active\") : t(\"inactive\") }}\r\n </span>\r\n </ng-template>\r\n\r\n <ng-template #userCol let-row>\r\n <div class=\"flex min-w-0 items-center gap-2\">\r\n <mt-avatar class=\"shrink-0\" [icon]=\"'custom.user-pp'\"></mt-avatar>\r\n <span class=\"truncate\">{{ row.delegateFrom?.displayName }}</span>\r\n </div>\r\n </ng-template>\r\n <ng-template #userCol2 let-row>\r\n <div class=\"flex min-w-0 items-center gap-2\">\r\n <mt-avatar class=\"shrink-0\" [icon]=\"'custom.user-pp'\"></mt-avatar>\r\n <span class=\"truncate\">{{ row.delegateTo?.displayName }}</span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #daysCol let-row>\r\n <div>{{ row.dayCounts }} {{ t(\"days\") }}</div>\r\n </ng-template>\r\n\r\n <ng-template #startDate let-row>\r\n <div>{{ row.delegateFromDateTime.displayValue }}</div>\r\n </ng-template>\r\n <ng-template #endDate let-row>\r\n <div>{{ row.delegateToDateTime.displayValue }}</div>\r\n </ng-template>\r\n\r\n <mt-table\r\n [tabs]=\"tabs()\"\r\n [(activeTab)]=\"activeTab\"\r\n [data]=\"delegations()\"\r\n [columns]=\"tableColumns()\"\r\n [actions]=\"tableActions()\"\r\n [rowActions]=\"rowActions()\"\r\n [generalSearch]=\"true\"\r\n [showFilters]=\"true\"\r\n [loading]=\"loading()\"\r\n storageKey=\"delegations-list-table\"\r\n >\r\n </mt-table>\r\n </div>\r\n</ng-container>\r\n", styles: [":host{display:block;min-width:0}:host ::ng-deep mt-table .p-datatable-header>div,:host ::ng-deep mt-table .p-datatable-header>div>div{gap:.75rem;min-width:0;flex-wrap:wrap}:host ::ng-deep mt-table .p-datatable-header mt-tabs{display:block;max-width:100%;overflow-x:auto;padding-bottom:.25rem}:host ::ng-deep mt-table .p-datatable-header mt-text-field{display:block;flex:1 1 16rem;min-width:min(100%,16rem)}:host ::ng-deep mt-table .p-datatable-header .p-inputtext,:host ::ng-deep mt-table .p-datatable-header .p-inputwrapper,:host ::ng-deep mt-table .p-datatable-header .p-selectbutton{width:100%;max-width:100%}@media(max-width:1024px){:host ::ng-deep mt-table .p-datatable-header>div{flex-direction:column;align-items:stretch}:host ::ng-deep mt-table .p-datatable-header>div>div{width:100%;justify-content:flex-start}:host ::ng-deep mt-table .p-datatable-header mt-text-field{flex-basis:100%;min-width:0}}\n"] }]
|
|
704
717
|
}], propDecorators: { statusCol: [{ type: i0.ViewChild, args: ['statusCol', { isSignal: true }] }], userCol: [{ type: i0.ViewChild, args: ['userCol', { isSignal: true }] }], userCol2: [{ type: i0.ViewChild, args: ['userCol2', { isSignal: true }] }], daysCol: [{ type: i0.ViewChild, args: ['daysCol', { isSignal: true }] }], startDate: [{ type: i0.ViewChild, args: ['startDate', { isSignal: true }] }], endDate: [{ type: i0.ViewChild, args: ['endDate', { isSignal: true }] }] } });
|
|
705
718
|
|
|
706
719
|
// store/index.ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"masterteam-delegations.mjs","sources":["../../../../packages/masterteam/delegations/src/lib/delegations/delegations.ts","../../../../packages/masterteam/delegations/src/lib/delegations/delegations.html","../../../../packages/masterteam/delegations/src/store/delegations/delegations.model.ts","../../../../packages/masterteam/delegations/src/store/delegations/delegations.actions.ts","../../../../packages/masterteam/delegations/src/store/delegations/delegations.state.ts","../../../../packages/masterteam/delegations/src/store/delegations/delegations.facade.ts","../../../../packages/masterteam/delegations/src/lib/delegations/delegation-form/delegation-form.ts","../../../../packages/masterteam/delegations/src/lib/delegations/delegation-form/delegation-form.html","../../../../packages/masterteam/delegations/src/lib/delegations/delegations-list/delegations-list.ts","../../../../packages/masterteam/delegations/src/lib/delegations/delegations-list/delegations-list.html","../../../../packages/masterteam/delegations/src/store/index.ts","../../../../packages/masterteam/delegations/src/masterteam-delegations.ts"],"sourcesContent":["import { Component, inject } from '@angular/core';\r\nimport { Router, RouterOutlet } from '@angular/router';\r\nimport { TranslocoDirective } from '@jsverse/transloco';\r\nimport { Page } from '@masterteam/components/page';\r\n\r\n@Component({\r\n selector: 'mt-delegations',\r\n imports: [Page, RouterOutlet, TranslocoDirective],\r\n templateUrl: './delegations.html',\r\n styleUrl: './delegations.css',\r\n})\r\nexport default class Delegations {\r\n private readonly router = inject(Router);\r\n\r\n goBack() {\r\n this.router.navigate(['control-panel/product-settings']);\r\n }\r\n}\r\n","<ng-container *transloco=\"let t\">\r\n <mt-page\r\n [title]=\"t('delegations.delegations')\"\r\n [avatarIcon]=\"'custom.hierarchy-structure'\"\r\n [avatarStyle]=\"{\r\n '--p-avatar-background': 'var(--p-indigo-50)',\r\n '--p-avatar-color': 'var(--p-indigo-700)',\r\n }\"\r\n (backButtonClick)=\"goBack()\"\r\n backButton\r\n >\r\n <router-outlet />\r\n </mt-page>\r\n</ng-container>\r\n","import { LoadingStateShape } from '../utils/state-helpers';\r\n\r\nexport interface DelegationUser {\r\n id: string;\r\n userId: string;\r\n displayName: string;\r\n mobile: string;\r\n userName: string;\r\n email: string;\r\n photo: string;\r\n}\r\n\r\nexport interface DelegationDateTime {\r\n displayValue: string;\r\n actualValue: string;\r\n}\r\n\r\nexport interface Delegation {\r\n id?: number;\r\n delegateFrom?: DelegationUser;\r\n delegateTo?: DelegationUser;\r\n delegateFromDateTime?: DelegationDateTime;\r\n delegateToDateTime?: DelegationDateTime;\r\n delegationStatus?: boolean;\r\n isActive?: boolean;\r\n description?: string;\r\n delegationDaysType?: 'fullRange' | 'specificDays';\r\n specificDays?: number[];\r\n}\r\n\r\nexport interface DelegationFormData {\r\n delegateTo: string;\r\n delegateFromDateTime: string;\r\n delegateToDateTime: string;\r\n delegateFrom: string;\r\n description?: string;\r\n delegationDaysType?: 'fullRange' | 'specificDays';\r\n specificDays?: number[];\r\n isActive?: boolean;\r\n}\r\n\r\nexport enum DelegationsActionKey {\r\n GetDelegations = 'getDelegations',\r\n AddDelegation = 'addDelegation',\r\n UpdateDelegation = 'updateDelegation',\r\n DeleteDelegation = 'deleteDelegation',\r\n GetDelegationForm = 'getDelegationForm',\r\n}\r\n\r\nexport interface DelegationsStateModel extends LoadingStateShape<DelegationsActionKey> {\r\n allDelegations: Delegation[];\r\n selectedDelegation: Delegation | null;\r\n}\r\n","import { DelegationFormData } from './delegations.model';\r\n\r\nexport class GetDelegations {\r\n static readonly type = '[Delegations] Get Delegations';\r\n}\r\n\r\nexport class AddDelegation {\r\n static readonly type = '[Delegations] Add Delegation';\r\n constructor(public delegation: DelegationFormData) {}\r\n}\r\n\r\nexport class UpdateDelegation {\r\n static readonly type = '[Delegations] Update Delegation';\r\n constructor(\r\n public id: number,\r\n public delegation: DelegationFormData,\r\n ) {}\r\n}\r\n\r\nexport class DeleteDelegation {\r\n static readonly type = '[Delegations] Delete Delegation';\r\n constructor(public id: number) {}\r\n}\r\n\r\nexport class GetDelegation {\r\n static readonly type = '[Delegations] Get Delegation';\r\n constructor(public id: number) {}\r\n}\r\n\r\nexport class ClearSelectedDelegation {\r\n static readonly type = '[Delegations] Clear Selected Delegation';\r\n}\r\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\r\nimport {\r\n GetDelegations,\r\n AddDelegation,\r\n UpdateDelegation,\r\n DeleteDelegation,\r\n GetDelegation,\r\n ClearSelectedDelegation,\r\n} from './delegations.actions';\r\nimport {\r\n Delegation,\r\n DelegationsActionKey,\r\n DelegationsStateModel,\r\n} from './delegations.model';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { inject, Injectable } from '@angular/core';\r\nimport { Response } from './api.model';\r\nimport { CrudStateBase, handleApiRequest } from '@masterteam/components';\r\n\r\n@State<DelegationsStateModel>({\r\n name: 'delegations',\r\n defaults: {\r\n allDelegations: [],\r\n selectedDelegation: null,\r\n loadingActive: [],\r\n errors: {},\r\n },\r\n})\r\n@Injectable()\r\nexport class DelegationsState extends CrudStateBase<\r\n Delegation,\r\n DelegationsStateModel,\r\n DelegationsActionKey\r\n> {\r\n private http = inject(HttpClient);\r\n\r\n // ============================================================================\r\n // Selectors - Individual data selectors for fine-grained reactivity\r\n // ============================================================================\r\n\r\n @Selector()\r\n static getAllDelegations(state: DelegationsStateModel): Delegation[] {\r\n return state.allDelegations;\r\n }\r\n\r\n @Selector()\r\n static getSelectedDelegation(\r\n state: DelegationsStateModel,\r\n ): Delegation | null {\r\n return state.selectedDelegation;\r\n }\r\n\r\n // ============================================================================\r\n // Loading/Error Slice Selectors - REQUIRED for optimal performance\r\n // ============================================================================\r\n\r\n @Selector()\r\n static getLoadingActive(state: DelegationsStateModel): string[] {\r\n return state.loadingActive;\r\n }\r\n\r\n @Selector()\r\n static getErrors(\r\n state: DelegationsStateModel,\r\n ): Record<string, string | null> {\r\n return state.errors;\r\n }\r\n\r\n // ============================================================================\r\n // CRUD Actions\r\n // ============================================================================\r\n\r\n @Action(GetDelegations)\r\n getDelegations(ctx: StateContext<DelegationsStateModel>) {\r\n const req$ = this.http.get<Response<Delegation[]>>(\r\n 'identity/delegations/all',\r\n );\r\n\r\n return handleApiRequest({\r\n ctx,\r\n key: DelegationsActionKey.GetDelegations,\r\n request$: req$,\r\n onSuccess: (response) => ({\r\n allDelegations: response.data ?? [],\r\n }),\r\n });\r\n }\r\n\r\n @Action(GetDelegation)\r\n getDelegation(\r\n ctx: StateContext<DelegationsStateModel>,\r\n { id }: GetDelegation,\r\n ) {\r\n const req$ = this.http.get<Response<Delegation>>(\r\n `identity/delegations/${id}`,\r\n );\r\n\r\n return handleApiRequest({\r\n ctx,\r\n key: DelegationsActionKey.GetDelegationForm,\r\n request$: req$,\r\n onSuccess: (response) => ({\r\n selectedDelegation: response.data ?? null,\r\n }),\r\n });\r\n }\r\n\r\n @Action(AddDelegation)\r\n addDelegation(\r\n ctx: StateContext<DelegationsStateModel>,\r\n { delegation }: AddDelegation,\r\n ) {\r\n const req$ = this.http.post<Response<Delegation>>(\r\n 'identity/delegations',\r\n delegation,\r\n );\r\n\r\n return this.create(ctx, {\r\n key: DelegationsActionKey.AddDelegation,\r\n request$: req$,\r\n stateProperty: (state) => state.allDelegations,\r\n });\r\n }\r\n\r\n @Action(UpdateDelegation)\r\n updateDelegation(\r\n ctx: StateContext<DelegationsStateModel>,\r\n { id, delegation }: UpdateDelegation,\r\n ) {\r\n const req$ = this.http.put<Response<Delegation>>(\r\n `identity/delegations/${id}`,\r\n delegation,\r\n );\r\n\r\n return this.update(ctx, {\r\n key: DelegationsActionKey.UpdateDelegation,\r\n request$: req$,\r\n uniqueKey: 'id',\r\n id,\r\n stateProperty: (state) => state.allDelegations,\r\n });\r\n }\r\n\r\n @Action(DeleteDelegation)\r\n deleteDelegation(\r\n ctx: StateContext<DelegationsStateModel>,\r\n { id }: DeleteDelegation,\r\n ) {\r\n const req$ = this.http.delete<Response<void>>(`identity/delegations/${id}`);\r\n\r\n return this.delete(ctx, {\r\n key: DelegationsActionKey.DeleteDelegation,\r\n request$: req$,\r\n uniqueKey: 'id',\r\n id,\r\n stateProperty: (state) => state.allDelegations,\r\n });\r\n }\r\n\r\n @Action(ClearSelectedDelegation)\r\n clearSelectedDelegation(ctx: StateContext<DelegationsStateModel>) {\r\n ctx.patchState({ selectedDelegation: null });\r\n }\r\n}\r\n","import { Injectable, computed, inject } from '@angular/core';\r\nimport { Store, select } from '@ngxs/store';\r\nimport {\r\n AddDelegation,\r\n DeleteDelegation,\r\n GetDelegation,\r\n GetDelegations,\r\n UpdateDelegation,\r\n ClearSelectedDelegation,\r\n} from './delegations.actions';\r\nimport { DelegationsActionKey, DelegationFormData } from './delegations.model';\r\nimport { DelegationsState } from './delegations.state';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class DelegationsFacade {\r\n private readonly store = inject(Store);\r\n\r\n // ============================================================================\r\n // Data Selectors - Memoized by NGXS (fine-grained reactivity)\r\n // ============================================================================\r\n readonly allDelegations = select(DelegationsState.getAllDelegations);\r\n readonly selectedDelegation = select(DelegationsState.getSelectedDelegation);\r\n\r\n // ============================================================================\r\n // Loading/Error Slices - Memoized by NGXS\r\n // ============================================================================\r\n private readonly loadingActive = select(DelegationsState.getLoadingActive);\r\n private readonly errors = select(DelegationsState.getErrors);\r\n\r\n // ============================================================================\r\n // Loading Signals - Computed from slice (minimal reactivity)\r\n // ============================================================================\r\n readonly isLoadingDelegations = computed(() =>\r\n this.loadingActive().includes(DelegationsActionKey.GetDelegations),\r\n );\r\n readonly isLoadingDelegation = computed(() =>\r\n this.loadingActive().includes(DelegationsActionKey.GetDelegationForm),\r\n );\r\n readonly isAddingDelegation = computed(() =>\r\n this.loadingActive().includes(DelegationsActionKey.AddDelegation),\r\n );\r\n readonly isUpdatingDelegation = computed(() =>\r\n this.loadingActive().includes(DelegationsActionKey.UpdateDelegation),\r\n );\r\n readonly isDeletingDelegation = computed(() =>\r\n this.loadingActive().includes(DelegationsActionKey.DeleteDelegation),\r\n );\r\n\r\n // ============================================================================\r\n // Error Signals - Computed from slice (minimal reactivity)\r\n // ============================================================================\r\n readonly delegationsError = computed(\r\n () => this.errors()[DelegationsActionKey.GetDelegations] ?? null,\r\n );\r\n readonly delegationError = computed(\r\n () => this.errors()[DelegationsActionKey.GetDelegationForm] ?? null,\r\n );\r\n readonly addDelegationError = computed(\r\n () => this.errors()[DelegationsActionKey.AddDelegation] ?? null,\r\n );\r\n readonly updateDelegationError = computed(\r\n () => this.errors()[DelegationsActionKey.UpdateDelegation] ?? null,\r\n );\r\n readonly deleteDelegationError = computed(\r\n () => this.errors()[DelegationsActionKey.DeleteDelegation] ?? null,\r\n );\r\n\r\n // ============================================================================\r\n // Derived Data - Computed from data selectors\r\n // ============================================================================\r\n readonly activeDelegations = computed(() =>\r\n this.allDelegations().filter((d) => d.isActive === true),\r\n );\r\n\r\n readonly inactiveDelegations = computed(() =>\r\n this.allDelegations().filter((d) => d.isActive === false),\r\n );\r\n\r\n // ============================================================================\r\n // Action Dispatchers\r\n // ============================================================================\r\n\r\n getDelegations() {\r\n return this.store.dispatch(new GetDelegations());\r\n }\r\n\r\n addDelegation(delegation: DelegationFormData) {\r\n return this.store.dispatch(new AddDelegation(delegation));\r\n }\r\n\r\n updateDelegation(id: number, delegation: DelegationFormData) {\r\n return this.store.dispatch(new UpdateDelegation(id, delegation));\r\n }\r\n\r\n deleteDelegation(id: number) {\r\n return this.store.dispatch(new DeleteDelegation(id));\r\n }\r\n\r\n loadDelegation(id: number) {\r\n return this.store.dispatch(new GetDelegation(id));\r\n }\r\n\r\n clearSelectedDelegation() {\r\n return this.store.dispatch(new ClearSelectedDelegation());\r\n }\r\n}\r\n","import {\r\n Component,\r\n inject,\r\n OnInit,\r\n effect,\r\n input,\r\n computed,\r\n signal,\r\n} from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\r\nimport { toSignal } from '@angular/core/rxjs-interop';\r\nimport { DynamicForm } from '@masterteam/forms/dynamic-form';\r\nimport { Button } from '@masterteam/components/button';\r\nimport { SkeletonModule } from 'primeng/skeleton';\r\n\r\n// Masterteam dialog\r\nimport { DialogService, ModalRef } from '@masterteam/components/dialog';\r\nimport {\r\n DynamicFormConfig,\r\n TextareaFieldConfig,\r\n ValidatorConfig,\r\n RadioButtonFieldConfig,\r\n MultiSelectFieldConfig,\r\n ToggleFieldConfig,\r\n} from '@masterteam/components';\r\nimport {\r\n Delegation,\r\n DelegationsFacade,\r\n DelegationFormData,\r\n} from '../../../store/delegations';\r\nimport { UserSearchFieldConfig } from '@masterteam/components';\r\nimport {\r\n TranslocoDirective,\r\n TranslocoPipe,\r\n TranslocoService,\r\n} from '@jsverse/transloco';\r\nimport { HttpContext } from '@angular/common/http';\r\nimport { REQUEST_CONTEXT } from '@masterteam/components';\r\nimport { ModalService } from '@masterteam/components/modal';\r\nimport { DateFieldConfig } from '@masterteam/components';\r\n\r\n@Component({\r\n selector: 'mt-delegation-form',\r\n templateUrl: './delegation-form.html',\r\n styleUrls: ['./delegation-form.css'],\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n Button,\r\n TranslocoDirective,\r\n SkeletonModule,\r\n DynamicForm,\r\n ReactiveFormsModule,\r\n TranslocoPipe,\r\n ],\r\n providers: [DialogService],\r\n})\r\nexport default class DelegationForm implements OnInit {\r\n modal = inject(ModalService);\r\n ref: ModalRef = inject(ModalRef);\r\n delegationForEdit = input<Delegation | null>(null);\r\n private readonly translocoService = inject(TranslocoService);\r\n private readonly facade = inject(DelegationsFacade);\r\n selectedDelegation = this.facade.selectedDelegation;\r\n delegationFormControl = new FormControl();\r\n formValue = toSignal(this.delegationFormControl.valueChanges);\r\n getDelegationFormLoading = this.facade.isLoadingDelegation;\r\n isAddingDelegation = this.facade.isAddingDelegation;\r\n isUpdatingDelegation = this.facade.isUpdatingDelegation;\r\n context = new HttpContext().set(REQUEST_CONTEXT, {\r\n useBaseUrl: false,\r\n });\r\n\r\n isDelegatingToSelf = computed(() => {\r\n const formValue = this.formValue();\r\n const fromId = formValue.delegateFrom?.id || formValue.delegateFrom;\r\n const toId = formValue.delegateTo?.id || formValue.delegateTo;\r\n return fromId === toId;\r\n });\r\n\r\n specificDaysOptions = signal([\r\n {\r\n label: this.translocoService.translate('delegations.sunday'),\r\n value: 0,\r\n },\r\n {\r\n label: this.translocoService.translate('delegations.monday'),\r\n value: 1,\r\n },\r\n {\r\n label: this.translocoService.translate('delegations.tuesday'),\r\n value: 2,\r\n },\r\n {\r\n label: this.translocoService.translate('delegations.wednesday'),\r\n value: 3,\r\n },\r\n {\r\n label: this.translocoService.translate('delegations.thursday'),\r\n value: 4,\r\n },\r\n {\r\n label: this.translocoService.translate('delegations.friday'),\r\n value: 5,\r\n },\r\n {\r\n label: this.translocoService.translate('delegations.saturday'),\r\n value: 6,\r\n },\r\n ]);\r\n\r\n delegationFormConfig = computed<DynamicFormConfig>(() => ({\r\n sections: [\r\n {\r\n key: 'delegationFormConfig',\r\n type: 'header',\r\n order: 1,\r\n fields: [\r\n new UserSearchFieldConfig({\r\n key: 'delegateFrom',\r\n label: this.translocoService.translate(\r\n 'delegations.originally-assigned-to',\r\n ),\r\n apiUrl: 'Identity/users',\r\n context: this.context,\r\n validators: [ValidatorConfig.required()],\r\n order: 1,\r\n colSpan: 6,\r\n disabled: !!this.delegationForEdit()?.id,\r\n }),\r\n new UserSearchFieldConfig({\r\n key: 'delegateTo',\r\n label: this.translocoService.translate('delegations.delegated-to'),\r\n apiUrl: 'Identity/users',\r\n context: this.context,\r\n validators: [ValidatorConfig.required()],\r\n order: 2,\r\n colSpan: 6,\r\n disabled: !!this.delegationForEdit()?.id,\r\n }),\r\n new TextareaFieldConfig({\r\n key: 'description',\r\n label: this.translocoService.translate('delegations.description'),\r\n placeholder: this.translocoService.translate(\r\n 'delegations.description',\r\n ),\r\n colSpan: 12,\r\n order: 3,\r\n }),\r\n new DateFieldConfig({\r\n key: 'delegateFromDateTime',\r\n label: this.translocoService.translate(\r\n 'delegations.delegation-date-from',\r\n ),\r\n placeholder: this.translocoService.translate(\r\n 'delegations.delegation-date-from',\r\n ),\r\n validators: [ValidatorConfig.required()],\r\n showTime: true,\r\n colSpan: 6,\r\n order: 4,\r\n }),\r\n new DateFieldConfig({\r\n key: 'delegateToDateTime',\r\n label: this.translocoService.translate(\r\n 'delegations.delegation-date-to',\r\n ),\r\n placeholder: this.translocoService.translate(\r\n 'delegations.delegation-date-to',\r\n ),\r\n validators: [ValidatorConfig.required()],\r\n showTime: true,\r\n colSpan: 6,\r\n order: 5,\r\n }),\r\n new RadioButtonFieldConfig({\r\n key: 'delegationDaysType',\r\n label: this.translocoService.translate(\r\n 'delegations.delegation-days-apply',\r\n ),\r\n options: [\r\n {\r\n label: this.translocoService.translate(\r\n 'delegations.full-range',\r\n ),\r\n value: 'FullRange',\r\n },\r\n {\r\n label: this.translocoService.translate(\r\n 'delegations.specific-days',\r\n ),\r\n value: 'SpecificDays',\r\n },\r\n ],\r\n optionLabel: 'label',\r\n optionValue: 'value',\r\n validators: [ValidatorConfig.required()],\r\n colSpan: 12,\r\n order: 6,\r\n }),\r\n new MultiSelectFieldConfig({\r\n key: 'specificDays',\r\n label: this.translocoService.translate('delegations.specific-days'),\r\n options: this.specificDaysOptions(),\r\n optionLabel: 'label',\r\n optionValue: 'value',\r\n maxSelectedLabels: 7,\r\n relations: [\r\n {\r\n key: 'delegationDaysType',\r\n value: 'SpecificDays',\r\n action: 'show',\r\n },\r\n ],\r\n colSpan: 12,\r\n order: 7,\r\n }),\r\n new ToggleFieldConfig({\r\n key: 'isActive',\r\n label: this.translocoService.translate(\r\n 'delegations.active-delegation',\r\n ),\r\n cssClass: 'mt-5 !w-100',\r\n order: 8,\r\n }),\r\n ],\r\n },\r\n ],\r\n }));\r\n\r\n constructor() {\r\n effect(() => {\r\n const delegationId = this.delegationForEdit()?.id;\r\n if (this.selectedDelegation() && delegationId) {\r\n const delegation = this.selectedDelegation();\r\n const data = {\r\n delegateFrom: delegation?.delegateFrom,\r\n delegateTo: delegation?.delegateTo,\r\n description: delegation?.description,\r\n delegateFromDateTime: delegation?.delegateFromDateTime?.actualValue\r\n ? new Date(delegation.delegateFromDateTime.actualValue)\r\n : undefined,\r\n delegateToDateTime: delegation?.delegateToDateTime?.actualValue\r\n ? new Date(delegation.delegateToDateTime.actualValue)\r\n : undefined,\r\n delegationDaysType: delegation?.delegationDaysType || 'FullRange',\r\n specificDays: delegation?.specificDays || [],\r\n isActive: delegation?.isActive ?? false,\r\n };\r\n this.delegationFormControl.patchValue(data);\r\n } else {\r\n this.delegationFormControl.reset({\r\n delegationDaysType: 'FullRange',\r\n isActive: true,\r\n });\r\n }\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n const delegationId = this.delegationForEdit()?.id;\r\n if (delegationId) {\r\n this.facade.loadDelegation(delegationId);\r\n }\r\n }\r\n\r\n onSubmit() {\r\n if (!this.delegationFormControl.valid) {\r\n return;\r\n }\r\n\r\n const formValue = this.delegationFormControl.value;\r\n const payload: DelegationFormData = {\r\n delegateFrom: formValue?.delegateFrom?.id || formValue?.delegateFrom,\r\n delegateTo: formValue?.delegateTo?.id || formValue?.delegateTo,\r\n description: formValue?.description,\r\n delegateFromDateTime: formValue?.delegateFromDateTime,\r\n delegateToDateTime: formValue?.delegateToDateTime,\r\n delegationDaysType: formValue?.delegationDaysType || 'FullRange',\r\n specificDays:\r\n formValue?.delegationDaysType === 'SpecificDays'\r\n ? formValue?.specificDays || []\r\n : undefined,\r\n isActive: formValue?.isActive ?? false,\r\n };\r\n\r\n const delegationId = this.delegationForEdit()?.id;\r\n if (delegationId) {\r\n this.facade.updateDelegation(delegationId, payload).subscribe({\r\n next: () => {\r\n this.ref.close(true);\r\n },\r\n error: () => {},\r\n });\r\n } else {\r\n this.facade.addDelegation(payload).subscribe({\r\n next: () => {\r\n this.ref.close(true);\r\n },\r\n error: () => {},\r\n });\r\n }\r\n }\r\n}\r\n","<ng-container *transloco=\"let t; prefix: 'delegations'\">\r\n <div [class]=\"'flex flex-col gap-3 p-4 ' + modal.contentClass\">\r\n @if (getDelegationFormLoading()) {\r\n <p-skeleton class=\"my-4 mt-7\" height=\"3rem\" />\r\n <p-skeleton class=\"my-4\" height=\"3rem\" />\r\n <p-skeleton class=\"my-4\" height=\"6rem\" />\r\n <p-skeleton class=\"my-4\" height=\"3rem\" />\r\n } @else {\r\n <mt-dynamic-form\r\n [formConfig]=\"delegationFormConfig()\"\r\n [formControl]=\"delegationFormControl\"\r\n />\r\n }\r\n </div>\r\n\r\n <div [class]=\"modal.footerClass\">\r\n <mt-button\r\n [label]=\"'cancel' | transloco\"\r\n severity=\"secondary\"\r\n variant=\"outlined\"\r\n (click)=\"ref.close()\"\r\n />\r\n <mt-button\r\n [label]=\"delegationForEdit() ? t('update') : t('create')\"\r\n [loading]=\"isAddingDelegation() || isUpdatingDelegation()\"\r\n [disabled]=\"!delegationFormControl.valid || isDelegatingToSelf()\"\r\n (click)=\"onSubmit()\"\r\n />\r\n </div>\r\n</ng-container>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n Component,\r\n computed,\r\n inject,\r\n linkedSignal,\r\n OnInit,\r\n signal,\r\n TemplateRef,\r\n viewChild,\r\n} from '@angular/core';\r\nimport { ColumnDef, Table, TableAction } from '@masterteam/components/table';\r\nimport { SkeletonModule } from 'primeng/skeleton';\r\nimport { DelegationsFacade } from '../../../store/delegations';\r\nimport { Avatar } from '@masterteam/components/avatar';\r\nimport { TranslocoDirective, TranslocoService } from '@jsverse/transloco';\r\nimport { ModalService } from '@masterteam/components/modal';\r\nimport DelegationForm from '../delegation-form/delegation-form';\r\nimport { finalize } from 'rxjs';\r\nimport { Breadcrumb } from '@masterteam/components/breadcrumb';\r\nimport { Icon } from '@masterteam/icons';\r\n\r\n@Component({\r\n selector: 'mt-delegations-list',\r\n styleUrl: './delegations-list.css',\r\n templateUrl: './delegations-list.html',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n SkeletonModule,\r\n Table,\r\n Avatar,\r\n TranslocoDirective,\r\n Breadcrumb,\r\n Icon,\r\n ],\r\n})\r\nexport default class DelegationsList implements OnInit {\r\n statusCol = viewChild.required<TemplateRef<any>>('statusCol');\r\n userCol = viewChild.required<TemplateRef<any>>('userCol');\r\n userCol2 = viewChild.required<TemplateRef<any>>('userCol2');\r\n daysCol = viewChild.required<TemplateRef<any>>('daysCol');\r\n startDate = viewChild.required<TemplateRef<any>>('startDate');\r\n endDate = viewChild.required<TemplateRef<any>>('endDate');\r\n\r\n private readonly facade = inject(DelegationsFacade);\r\n readonly modal: ModalService = inject(ModalService);\r\n private readonly translocoService = inject(TranslocoService);\r\n\r\n breadcrumbItems = linkedSignal(() => [\r\n {\r\n label: '',\r\n icon: 'general.home-line',\r\n routerLink: '/control-panel/workspaces',\r\n },\r\n {\r\n label: this.translocoService.translate(\r\n 'product-settings.product-settings',\r\n ),\r\n routerLink: '/control-panel/product-settings',\r\n },\r\n {\r\n label: this.translocoService.translate('delegations.delegations'),\r\n },\r\n ]);\r\n\r\n delegations = computed(() => {\r\n const tab = this.activeTab();\r\n const all = this.allDelegations();\r\n const activeDelegations = this.activeDelegations();\r\n const inactiveDelegations = this.inactiveDelegations();\r\n\r\n switch (tab) {\r\n case 'active':\r\n return activeDelegations;\r\n case 'inactive':\r\n return inactiveDelegations;\r\n case 'all':\r\n default:\r\n return all;\r\n }\r\n });\r\n\r\n tabs = signal([\r\n {\r\n label: this.translocoService.translate('delegations.all'),\r\n value: 'all',\r\n },\r\n {\r\n label: this.translocoService.translate('delegations.active'),\r\n value: 'active',\r\n },\r\n {\r\n label: this.translocoService.translate('delegations.inactive'),\r\n value: 'inactive',\r\n },\r\n ]);\r\n activeTab = signal<string>('all');\r\n tableActions = signal<TableAction[]>([\r\n {\r\n icon: 'general.plus',\r\n label: this.translocoService.translate('delegations.add-delegation'),\r\n color: 'primary',\r\n action: () => {\r\n this.addDelegationDialog();\r\n },\r\n },\r\n ]);\r\n\r\n deletingRowIds = signal<any[]>([]);\r\n rowActions = signal<TableAction[]>([\r\n {\r\n icon: 'custom.pencil',\r\n tooltip: this.translocoService.translate('edit'),\r\n color: 'primary',\r\n action: (row: any) => {\r\n this.facade.clearSelectedDelegation();\r\n this.addDelegationDialog(row);\r\n },\r\n },\r\n {\r\n icon: 'general.trash-01',\r\n tooltip: this.translocoService.translate('delete'),\r\n color: 'danger',\r\n variant: 'outlined',\r\n action: (row: any) => {\r\n this.deletingRowIds.update((ids) => [...ids, row.id]);\r\n this.facade\r\n .deleteDelegation(row.id)\r\n .pipe(\r\n finalize(() => {\r\n this.deletingRowIds.update((ids) =>\r\n ids.filter((id) => id !== row.id),\r\n );\r\n }),\r\n )\r\n .subscribe();\r\n },\r\n confirmation: {\r\n type: 'popup',\r\n confirmationType: 'delete',\r\n },\r\n loading: (row: any) => this.deletingRowIds().includes(row.id),\r\n },\r\n ]);\r\n\r\n tableColumns = linkedSignal<ColumnDef[]>(() => [\r\n {\r\n key: 'isActive',\r\n label: this.translocoService.translate('delegations.status'),\r\n type: 'custom',\r\n customCellTpl: this.statusCol(),\r\n filterConfig: {\r\n type: 'select',\r\n label: this.translocoService.translate('delegations.status'),\r\n options: [\r\n {\r\n label: this.translocoService.translate('delegations.active'),\r\n value: true,\r\n },\r\n {\r\n label: this.translocoService.translate('delegations.inactive'),\r\n value: false,\r\n },\r\n ],\r\n },\r\n },\r\n {\r\n key: 'delegateFrom.displayName',\r\n label: this.translocoService.translate(\r\n 'delegations.originally-assigned-to',\r\n ),\r\n type: 'custom',\r\n customCellTpl: this.userCol(),\r\n },\r\n {\r\n key: 'delegateTo.displayName',\r\n label: this.translocoService.translate('delegations.delegated-to'),\r\n type: 'custom',\r\n customCellTpl: this.userCol2(),\r\n },\r\n {\r\n key: 'delegateFromDateTime.actualValue',\r\n label: this.translocoService.translate('delegations.start-date'),\r\n type: 'custom',\r\n customCellTpl: this.startDate(),\r\n filterConfig: {\r\n type: 'date',\r\n label: this.translocoService.translate('delegations.start-date'),\r\n },\r\n },\r\n {\r\n key: 'delegateToDateTime.actualValue',\r\n label: this.translocoService.translate('delegations.end-date'),\r\n type: 'custom',\r\n customCellTpl: this.endDate(),\r\n filterConfig: {\r\n type: 'date',\r\n label: this.translocoService.translate('delegations.end-date'),\r\n },\r\n },\r\n {\r\n key: 'days',\r\n label: this.translocoService.translate('delegations.days'),\r\n type: 'custom',\r\n customCellTpl: this.daysCol(),\r\n },\r\n ]);\r\n\r\n loading = this.facade.isLoadingDelegations;\r\n private allDelegations = this.facade.allDelegations;\r\n private activeDelegations = this.facade.activeDelegations;\r\n private inactiveDelegations = this.facade.inactiveDelegations;\r\n\r\n ngOnInit(): void {\r\n this.facade.getDelegations();\r\n }\r\n\r\n addDelegationDialog(delegation: any | null = null) {\r\n const modalType: 'drawer' | 'dialog' = delegation ? 'drawer' : 'dialog';\r\n this.modal.openModal(DelegationForm, modalType, {\r\n header: delegation\r\n ? this.translocoService.translate('delegations.edit-delegation')\r\n : this.translocoService.translate('delegations.add-delegation'),\r\n styleClass: '!w-[50rem] !absolute !shadow-none',\r\n position: modalType === 'drawer' ? 'end' : '',\r\n appendTo: modalType === 'drawer' ? 'page-content' : 'body',\r\n dismissableMask: true,\r\n dismissible: true,\r\n inputValues: {\r\n delegationForEdit: delegation,\r\n },\r\n });\r\n }\r\n}\r\n","<ng-container *transloco=\"let t; prefix: 'delegations'\">\r\n <div class=\"space-y-4\">\r\n <div class=\"flex items-center justify-between\">\r\n <div class=\"space-y-1\">\r\n <h1 class=\"text-xl font-semibold text-slate-900 tracking-tight\">\r\n {{ t(\"delegations\") }}\r\n </h1>\r\n <mt-breadcrumb\r\n [items]=\"breadcrumbItems()\"\r\n [styleClass]=\"'flex justify-start mx-1'\"\r\n ></mt-breadcrumb>\r\n </div>\r\n </div>\r\n <ng-template #statusCol let-row>\r\n <span\r\n class=\"flex items-center gap-2 text-md\"\r\n [class]=\"row.isActive ? 'text-green-700 ' : 'text-red-700 '\"\r\n >\r\n <mt-icon\r\n class=\"text-2xl\"\r\n [icon]=\"row.isActive ? 'media.play-circle' : 'media.pause-circle'\"\r\n ></mt-icon>\r\n {{ row.isActive ? t(\"active\") : t(\"inactive\") }}\r\n </span>\r\n </ng-template>\r\n\r\n <ng-template #userCol let-row>\r\n <div class=\"flex items-center gap-2\">\r\n <mt-avatar [icon]=\"'custom.user-pp'\"></mt-avatar>\r\n {{ row.delegateFrom?.displayName }}\r\n </div>\r\n </ng-template>\r\n <ng-template #userCol2 let-row>\r\n <div class=\"flex items-center gap-2\">\r\n <mt-avatar [icon]=\"'custom.user-pp'\"></mt-avatar>\r\n {{ row.delegateTo?.displayName }}\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #daysCol let-row>\r\n <div>{{ row.dayCounts }} {{ t(\"days\") }}</div>\r\n </ng-template>\r\n\r\n <ng-template #startDate let-row>\r\n <div>{{ row.delegateFromDateTime.displayValue }}</div>\r\n </ng-template>\r\n <ng-template #endDate let-row>\r\n <div>{{ row.delegateToDateTime.displayValue }}</div>\r\n </ng-template>\r\n\r\n <mt-table\r\n [tabs]=\"tabs()\"\r\n [(activeTab)]=\"activeTab\"\r\n [data]=\"delegations()\"\r\n [columns]=\"tableColumns()\"\r\n [actions]=\"tableActions()\"\r\n [rowActions]=\"rowActions()\"\r\n [generalSearch]=\"true\"\r\n [showFilters]=\"true\"\r\n [loading]=\"loading()\"\r\n >\r\n </mt-table>\r\n </div>\r\n</ng-container>\r\n","// store/index.ts\r\nexport * from './delegations';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"masterteam-delegations.mjs","sources":["../../../../packages/masterteam/delegations/src/lib/delegations/delegations.ts","../../../../packages/masterteam/delegations/src/lib/delegations/delegations.html","../../../../packages/masterteam/delegations/src/store/delegations/delegations.model.ts","../../../../packages/masterteam/delegations/src/store/delegations/delegations.actions.ts","../../../../packages/masterteam/delegations/src/store/delegations/delegations.state.ts","../../../../packages/masterteam/delegations/src/store/delegations/delegations.facade.ts","../../../../packages/masterteam/delegations/src/lib/delegations/delegation-form/delegation-form.ts","../../../../packages/masterteam/delegations/src/lib/delegations/delegation-form/delegation-form.html","../../../../packages/masterteam/delegations/src/lib/delegations/delegations-list/delegations-list.ts","../../../../packages/masterteam/delegations/src/lib/delegations/delegations-list/delegations-list.html","../../../../packages/masterteam/delegations/src/store/index.ts","../../../../packages/masterteam/delegations/src/masterteam-delegations.ts"],"sourcesContent":["import { Component, inject } from '@angular/core';\r\nimport { Router, RouterOutlet } from '@angular/router';\r\nimport { TranslocoDirective } from '@jsverse/transloco';\r\nimport { Page } from '@masterteam/components/page';\r\n\r\n@Component({\r\n selector: 'mt-delegations',\r\n imports: [Page, RouterOutlet, TranslocoDirective],\r\n templateUrl: './delegations.html',\r\n styleUrl: './delegations.css',\r\n})\r\nexport default class Delegations {\r\n private readonly router = inject(Router);\r\n\r\n goBack() {\r\n this.router.navigate(['control-panel/product-settings']);\r\n }\r\n}\r\n","<ng-container *transloco=\"let t\">\r\n <mt-page\r\n [title]=\"t('delegations.delegations')\"\r\n [avatarIcon]=\"'custom.hierarchy-structure'\"\r\n [contentClass]=\"'max-[1025px]:p-4 max-[640px]:p-3'\"\r\n [avatarStyle]=\"{\r\n '--p-avatar-background': 'var(--p-indigo-50)',\r\n '--p-avatar-color': 'var(--p-indigo-700)',\r\n }\"\r\n (backButtonClick)=\"goBack()\"\r\n backButton\r\n >\r\n <router-outlet />\r\n </mt-page>\r\n</ng-container>\r\n","import { LoadingStateShape } from '../utils/state-helpers';\r\n\r\nexport interface DelegationUser {\r\n id: string;\r\n userId: string;\r\n displayName: string;\r\n mobile: string;\r\n userName: string;\r\n email: string;\r\n photo: string;\r\n}\r\n\r\nexport interface DelegationDateTime {\r\n displayValue: string;\r\n actualValue: string;\r\n}\r\n\r\nexport interface Delegation {\r\n id?: number;\r\n delegateFrom?: DelegationUser;\r\n delegateTo?: DelegationUser;\r\n delegateFromDateTime?: DelegationDateTime;\r\n delegateToDateTime?: DelegationDateTime;\r\n delegationStatus?: boolean;\r\n isActive?: boolean;\r\n description?: string;\r\n delegationDaysType?: 'fullRange' | 'specificDays';\r\n specificDays?: number[];\r\n}\r\n\r\nexport interface DelegationFormData {\r\n delegateTo: string;\r\n delegateFromDateTime: string;\r\n delegateToDateTime: string;\r\n delegateFrom: string;\r\n description?: string;\r\n delegationDaysType?: 'fullRange' | 'specificDays';\r\n specificDays?: number[];\r\n isActive?: boolean;\r\n}\r\n\r\nexport enum DelegationsActionKey {\r\n GetDelegations = 'getDelegations',\r\n AddDelegation = 'addDelegation',\r\n UpdateDelegation = 'updateDelegation',\r\n DeleteDelegation = 'deleteDelegation',\r\n GetDelegationForm = 'getDelegationForm',\r\n}\r\n\r\nexport interface DelegationsStateModel extends LoadingStateShape<DelegationsActionKey> {\r\n allDelegations: Delegation[];\r\n selectedDelegation: Delegation | null;\r\n}\r\n","import { DelegationFormData } from './delegations.model';\r\n\r\nexport class GetDelegations {\r\n static readonly type = '[Delegations] Get Delegations';\r\n}\r\n\r\nexport class AddDelegation {\r\n static readonly type = '[Delegations] Add Delegation';\r\n constructor(public delegation: DelegationFormData) {}\r\n}\r\n\r\nexport class UpdateDelegation {\r\n static readonly type = '[Delegations] Update Delegation';\r\n constructor(\r\n public id: number,\r\n public delegation: DelegationFormData,\r\n ) {}\r\n}\r\n\r\nexport class DeleteDelegation {\r\n static readonly type = '[Delegations] Delete Delegation';\r\n constructor(public id: number) {}\r\n}\r\n\r\nexport class GetDelegation {\r\n static readonly type = '[Delegations] Get Delegation';\r\n constructor(public id: number) {}\r\n}\r\n\r\nexport class ClearSelectedDelegation {\r\n static readonly type = '[Delegations] Clear Selected Delegation';\r\n}\r\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\r\nimport {\r\n GetDelegations,\r\n AddDelegation,\r\n UpdateDelegation,\r\n DeleteDelegation,\r\n GetDelegation,\r\n ClearSelectedDelegation,\r\n} from './delegations.actions';\r\nimport {\r\n Delegation,\r\n DelegationsActionKey,\r\n DelegationsStateModel,\r\n} from './delegations.model';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { inject, Injectable } from '@angular/core';\r\nimport { Response } from './api.model';\r\nimport { CrudStateBase, handleApiRequest } from '@masterteam/components';\r\n\r\n@State<DelegationsStateModel>({\r\n name: 'delegations',\r\n defaults: {\r\n allDelegations: [],\r\n selectedDelegation: null,\r\n loadingActive: [],\r\n errors: {},\r\n },\r\n})\r\n@Injectable()\r\nexport class DelegationsState extends CrudStateBase<\r\n Delegation,\r\n DelegationsStateModel,\r\n DelegationsActionKey\r\n> {\r\n private http = inject(HttpClient);\r\n\r\n // ============================================================================\r\n // Selectors - Individual data selectors for fine-grained reactivity\r\n // ============================================================================\r\n\r\n @Selector()\r\n static getAllDelegations(state: DelegationsStateModel): Delegation[] {\r\n return state.allDelegations;\r\n }\r\n\r\n @Selector()\r\n static getSelectedDelegation(\r\n state: DelegationsStateModel,\r\n ): Delegation | null {\r\n return state.selectedDelegation;\r\n }\r\n\r\n // ============================================================================\r\n // Loading/Error Slice Selectors - REQUIRED for optimal performance\r\n // ============================================================================\r\n\r\n @Selector()\r\n static getLoadingActive(state: DelegationsStateModel): string[] {\r\n return state.loadingActive;\r\n }\r\n\r\n @Selector()\r\n static getErrors(\r\n state: DelegationsStateModel,\r\n ): Record<string, string | null> {\r\n return state.errors;\r\n }\r\n\r\n // ============================================================================\r\n // CRUD Actions\r\n // ============================================================================\r\n\r\n @Action(GetDelegations)\r\n getDelegations(ctx: StateContext<DelegationsStateModel>) {\r\n const req$ = this.http.get<Response<Delegation[]>>(\r\n 'identity/delegations/all',\r\n );\r\n\r\n return handleApiRequest({\r\n ctx,\r\n key: DelegationsActionKey.GetDelegations,\r\n request$: req$,\r\n onSuccess: (response) => ({\r\n allDelegations: response.data ?? [],\r\n }),\r\n });\r\n }\r\n\r\n @Action(GetDelegation)\r\n getDelegation(\r\n ctx: StateContext<DelegationsStateModel>,\r\n { id }: GetDelegation,\r\n ) {\r\n const req$ = this.http.get<Response<Delegation>>(\r\n `identity/delegations/${id}`,\r\n );\r\n\r\n return handleApiRequest({\r\n ctx,\r\n key: DelegationsActionKey.GetDelegationForm,\r\n request$: req$,\r\n onSuccess: (response) => ({\r\n selectedDelegation: response.data ?? null,\r\n }),\r\n });\r\n }\r\n\r\n @Action(AddDelegation)\r\n addDelegation(\r\n ctx: StateContext<DelegationsStateModel>,\r\n { delegation }: AddDelegation,\r\n ) {\r\n const req$ = this.http.post<Response<Delegation>>(\r\n 'identity/delegations',\r\n delegation,\r\n );\r\n\r\n return this.create(ctx, {\r\n key: DelegationsActionKey.AddDelegation,\r\n request$: req$,\r\n stateProperty: (state) => state.allDelegations,\r\n });\r\n }\r\n\r\n @Action(UpdateDelegation)\r\n updateDelegation(\r\n ctx: StateContext<DelegationsStateModel>,\r\n { id, delegation }: UpdateDelegation,\r\n ) {\r\n const req$ = this.http.put<Response<Delegation>>(\r\n `identity/delegations/${id}`,\r\n delegation,\r\n );\r\n\r\n return this.update(ctx, {\r\n key: DelegationsActionKey.UpdateDelegation,\r\n request$: req$,\r\n uniqueKey: 'id',\r\n id,\r\n stateProperty: (state) => state.allDelegations,\r\n });\r\n }\r\n\r\n @Action(DeleteDelegation)\r\n deleteDelegation(\r\n ctx: StateContext<DelegationsStateModel>,\r\n { id }: DeleteDelegation,\r\n ) {\r\n const req$ = this.http.delete<Response<void>>(`identity/delegations/${id}`);\r\n\r\n return this.delete(ctx, {\r\n key: DelegationsActionKey.DeleteDelegation,\r\n request$: req$,\r\n uniqueKey: 'id',\r\n id,\r\n stateProperty: (state) => state.allDelegations,\r\n });\r\n }\r\n\r\n @Action(ClearSelectedDelegation)\r\n clearSelectedDelegation(ctx: StateContext<DelegationsStateModel>) {\r\n ctx.patchState({ selectedDelegation: null });\r\n }\r\n}\r\n","import { Injectable, computed, inject } from '@angular/core';\r\nimport { Store, select } from '@ngxs/store';\r\nimport {\r\n AddDelegation,\r\n DeleteDelegation,\r\n GetDelegation,\r\n GetDelegations,\r\n UpdateDelegation,\r\n ClearSelectedDelegation,\r\n} from './delegations.actions';\r\nimport { DelegationsActionKey, DelegationFormData } from './delegations.model';\r\nimport { DelegationsState } from './delegations.state';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class DelegationsFacade {\r\n private readonly store = inject(Store);\r\n\r\n // ============================================================================\r\n // Data Selectors - Memoized by NGXS (fine-grained reactivity)\r\n // ============================================================================\r\n readonly allDelegations = select(DelegationsState.getAllDelegations);\r\n readonly selectedDelegation = select(DelegationsState.getSelectedDelegation);\r\n\r\n // ============================================================================\r\n // Loading/Error Slices - Memoized by NGXS\r\n // ============================================================================\r\n private readonly loadingActive = select(DelegationsState.getLoadingActive);\r\n private readonly errors = select(DelegationsState.getErrors);\r\n\r\n // ============================================================================\r\n // Loading Signals - Computed from slice (minimal reactivity)\r\n // ============================================================================\r\n readonly isLoadingDelegations = computed(() =>\r\n this.loadingActive().includes(DelegationsActionKey.GetDelegations),\r\n );\r\n readonly isLoadingDelegation = computed(() =>\r\n this.loadingActive().includes(DelegationsActionKey.GetDelegationForm),\r\n );\r\n readonly isAddingDelegation = computed(() =>\r\n this.loadingActive().includes(DelegationsActionKey.AddDelegation),\r\n );\r\n readonly isUpdatingDelegation = computed(() =>\r\n this.loadingActive().includes(DelegationsActionKey.UpdateDelegation),\r\n );\r\n readonly isDeletingDelegation = computed(() =>\r\n this.loadingActive().includes(DelegationsActionKey.DeleteDelegation),\r\n );\r\n\r\n // ============================================================================\r\n // Error Signals - Computed from slice (minimal reactivity)\r\n // ============================================================================\r\n readonly delegationsError = computed(\r\n () => this.errors()[DelegationsActionKey.GetDelegations] ?? null,\r\n );\r\n readonly delegationError = computed(\r\n () => this.errors()[DelegationsActionKey.GetDelegationForm] ?? null,\r\n );\r\n readonly addDelegationError = computed(\r\n () => this.errors()[DelegationsActionKey.AddDelegation] ?? null,\r\n );\r\n readonly updateDelegationError = computed(\r\n () => this.errors()[DelegationsActionKey.UpdateDelegation] ?? null,\r\n );\r\n readonly deleteDelegationError = computed(\r\n () => this.errors()[DelegationsActionKey.DeleteDelegation] ?? null,\r\n );\r\n\r\n // ============================================================================\r\n // Derived Data - Computed from data selectors\r\n // ============================================================================\r\n readonly activeDelegations = computed(() =>\r\n this.allDelegations().filter((d) => d.isActive === true),\r\n );\r\n\r\n readonly inactiveDelegations = computed(() =>\r\n this.allDelegations().filter((d) => d.isActive === false),\r\n );\r\n\r\n // ============================================================================\r\n // Action Dispatchers\r\n // ============================================================================\r\n\r\n getDelegations() {\r\n return this.store.dispatch(new GetDelegations());\r\n }\r\n\r\n addDelegation(delegation: DelegationFormData) {\r\n return this.store.dispatch(new AddDelegation(delegation));\r\n }\r\n\r\n updateDelegation(id: number, delegation: DelegationFormData) {\r\n return this.store.dispatch(new UpdateDelegation(id, delegation));\r\n }\r\n\r\n deleteDelegation(id: number) {\r\n return this.store.dispatch(new DeleteDelegation(id));\r\n }\r\n\r\n loadDelegation(id: number) {\r\n return this.store.dispatch(new GetDelegation(id));\r\n }\r\n\r\n clearSelectedDelegation() {\r\n return this.store.dispatch(new ClearSelectedDelegation());\r\n }\r\n}\r\n","import {\r\n Component,\r\n inject,\r\n OnInit,\r\n effect,\r\n input,\r\n computed,\r\n signal,\r\n} from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\r\nimport { toSignal } from '@angular/core/rxjs-interop';\r\nimport { DynamicForm } from '@masterteam/forms/dynamic-form';\r\nimport { Button } from '@masterteam/components/button';\r\nimport { SkeletonModule } from 'primeng/skeleton';\r\n\r\n// Masterteam dialog\r\nimport { DialogService, ModalRef } from '@masterteam/components/dialog';\r\nimport {\r\n DynamicFormConfig,\r\n TextareaFieldConfig,\r\n ValidatorConfig,\r\n RadioButtonFieldConfig,\r\n MultiSelectFieldConfig,\r\n ToggleFieldConfig,\r\n} from '@masterteam/components';\r\nimport {\r\n Delegation,\r\n DelegationsFacade,\r\n DelegationFormData,\r\n} from '../../../store/delegations';\r\nimport { UserSearchFieldConfig } from '@masterteam/components';\r\nimport {\r\n TranslocoDirective,\r\n TranslocoPipe,\r\n TranslocoService,\r\n} from '@jsverse/transloco';\r\nimport { HttpContext } from '@angular/common/http';\r\nimport { REQUEST_CONTEXT } from '@masterteam/components';\r\nimport { ModalService } from '@masterteam/components/modal';\r\nimport { DateFieldConfig } from '@masterteam/components';\r\n\r\n@Component({\r\n selector: 'mt-delegation-form',\r\n templateUrl: './delegation-form.html',\r\n styleUrls: ['./delegation-form.css'],\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n Button,\r\n TranslocoDirective,\r\n SkeletonModule,\r\n DynamicForm,\r\n ReactiveFormsModule,\r\n TranslocoPipe,\r\n ],\r\n providers: [DialogService],\r\n})\r\nexport default class DelegationForm implements OnInit {\r\n private readonly halfWidthFieldClass = 'flex flex-col gap-1 lg:col-span-6';\r\n private readonly fullWidthFieldClass = 'flex flex-col gap-1 lg:col-span-12';\r\n\r\n modal = inject(ModalService);\r\n ref: ModalRef = inject(ModalRef);\r\n delegationForEdit = input<Delegation | null>(null);\r\n private readonly translocoService = inject(TranslocoService);\r\n private readonly facade = inject(DelegationsFacade);\r\n selectedDelegation = this.facade.selectedDelegation;\r\n delegationFormControl = new FormControl();\r\n formValue = toSignal(this.delegationFormControl.valueChanges);\r\n getDelegationFormLoading = this.facade.isLoadingDelegation;\r\n isAddingDelegation = this.facade.isAddingDelegation;\r\n isUpdatingDelegation = this.facade.isUpdatingDelegation;\r\n context = new HttpContext().set(REQUEST_CONTEXT, {\r\n useBaseUrl: false,\r\n });\r\n\r\n isDelegatingToSelf = computed(() => {\r\n const formValue = this.formValue();\r\n const fromId = formValue.delegateFrom?.id || formValue.delegateFrom;\r\n const toId = formValue.delegateTo?.id || formValue.delegateTo;\r\n return fromId === toId;\r\n });\r\n\r\n specificDaysOptions = signal([\r\n {\r\n label: this.translocoService.translate('delegations.sunday'),\r\n value: 0,\r\n },\r\n {\r\n label: this.translocoService.translate('delegations.monday'),\r\n value: 1,\r\n },\r\n {\r\n label: this.translocoService.translate('delegations.tuesday'),\r\n value: 2,\r\n },\r\n {\r\n label: this.translocoService.translate('delegations.wednesday'),\r\n value: 3,\r\n },\r\n {\r\n label: this.translocoService.translate('delegations.thursday'),\r\n value: 4,\r\n },\r\n {\r\n label: this.translocoService.translate('delegations.friday'),\r\n value: 5,\r\n },\r\n {\r\n label: this.translocoService.translate('delegations.saturday'),\r\n value: 6,\r\n },\r\n ]);\r\n\r\n delegationFormConfig = computed<DynamicFormConfig>(() => ({\r\n sections: [\r\n {\r\n key: 'delegationFormConfig',\r\n type: 'header',\r\n bodyClass: 'grid grid-cols-1 gap-4 items-start lg:grid-cols-12',\r\n order: 1,\r\n fields: [\r\n new UserSearchFieldConfig({\r\n key: 'delegateFrom',\r\n label: this.translocoService.translate(\r\n 'delegations.originally-assigned-to',\r\n ),\r\n apiUrl: 'Identity/users',\r\n context: this.context,\r\n validators: [ValidatorConfig.required()],\r\n order: 1,\r\n cssClass: this.halfWidthFieldClass,\r\n colSpan: 6,\r\n disabled: !!this.delegationForEdit()?.id,\r\n }),\r\n new UserSearchFieldConfig({\r\n key: 'delegateTo',\r\n label: this.translocoService.translate('delegations.delegated-to'),\r\n apiUrl: 'Identity/users',\r\n context: this.context,\r\n validators: [ValidatorConfig.required()],\r\n order: 2,\r\n cssClass: this.halfWidthFieldClass,\r\n colSpan: 6,\r\n disabled: !!this.delegationForEdit()?.id,\r\n }),\r\n new TextareaFieldConfig({\r\n key: 'description',\r\n label: this.translocoService.translate('delegations.description'),\r\n placeholder: this.translocoService.translate(\r\n 'delegations.description',\r\n ),\r\n cssClass: this.fullWidthFieldClass,\r\n colSpan: 12,\r\n order: 3,\r\n }),\r\n new DateFieldConfig({\r\n key: 'delegateFromDateTime',\r\n label: this.translocoService.translate(\r\n 'delegations.delegation-date-from',\r\n ),\r\n placeholder: this.translocoService.translate(\r\n 'delegations.delegation-date-from',\r\n ),\r\n validators: [ValidatorConfig.required()],\r\n showTime: true,\r\n cssClass: this.halfWidthFieldClass,\r\n colSpan: 6,\r\n order: 4,\r\n }),\r\n new DateFieldConfig({\r\n key: 'delegateToDateTime',\r\n label: this.translocoService.translate(\r\n 'delegations.delegation-date-to',\r\n ),\r\n placeholder: this.translocoService.translate(\r\n 'delegations.delegation-date-to',\r\n ),\r\n validators: [ValidatorConfig.required()],\r\n showTime: true,\r\n cssClass: this.halfWidthFieldClass,\r\n colSpan: 6,\r\n order: 5,\r\n }),\r\n new RadioButtonFieldConfig({\r\n key: 'delegationDaysType',\r\n label: this.translocoService.translate(\r\n 'delegations.delegation-days-apply',\r\n ),\r\n options: [\r\n {\r\n label: this.translocoService.translate(\r\n 'delegations.full-range',\r\n ),\r\n value: 'FullRange',\r\n },\r\n {\r\n label: this.translocoService.translate(\r\n 'delegations.specific-days',\r\n ),\r\n value: 'SpecificDays',\r\n },\r\n ],\r\n optionLabel: 'label',\r\n optionValue: 'value',\r\n validators: [ValidatorConfig.required()],\r\n cssClass: this.fullWidthFieldClass,\r\n colSpan: 12,\r\n order: 6,\r\n }),\r\n new MultiSelectFieldConfig({\r\n key: 'specificDays',\r\n label: this.translocoService.translate('delegations.specific-days'),\r\n options: this.specificDaysOptions(),\r\n optionLabel: 'label',\r\n optionValue: 'value',\r\n maxSelectedLabels: 7,\r\n relations: [\r\n {\r\n key: 'delegationDaysType',\r\n value: 'SpecificDays',\r\n action: 'show',\r\n },\r\n ],\r\n cssClass: this.fullWidthFieldClass,\r\n colSpan: 12,\r\n order: 7,\r\n }),\r\n new ToggleFieldConfig({\r\n key: 'isActive',\r\n label: this.translocoService.translate(\r\n 'delegations.active-delegation',\r\n ),\r\n cssClass: `${this.fullWidthFieldClass} mt-5`,\r\n order: 8,\r\n }),\r\n ],\r\n },\r\n ],\r\n }));\r\n\r\n constructor() {\r\n effect(() => {\r\n const delegationId = this.delegationForEdit()?.id;\r\n if (this.selectedDelegation() && delegationId) {\r\n const delegation = this.selectedDelegation();\r\n const data = {\r\n delegateFrom: delegation?.delegateFrom,\r\n delegateTo: delegation?.delegateTo,\r\n description: delegation?.description,\r\n delegateFromDateTime: delegation?.delegateFromDateTime?.actualValue\r\n ? new Date(delegation.delegateFromDateTime.actualValue)\r\n : undefined,\r\n delegateToDateTime: delegation?.delegateToDateTime?.actualValue\r\n ? new Date(delegation.delegateToDateTime.actualValue)\r\n : undefined,\r\n delegationDaysType: delegation?.delegationDaysType || 'FullRange',\r\n specificDays: delegation?.specificDays || [],\r\n isActive: delegation?.isActive ?? false,\r\n };\r\n this.delegationFormControl.patchValue(data);\r\n } else {\r\n this.delegationFormControl.reset({\r\n delegationDaysType: 'FullRange',\r\n isActive: true,\r\n });\r\n }\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n const delegationId = this.delegationForEdit()?.id;\r\n if (delegationId) {\r\n this.facade.loadDelegation(delegationId);\r\n }\r\n }\r\n\r\n onSubmit() {\r\n if (!this.delegationFormControl.valid) {\r\n return;\r\n }\r\n\r\n const formValue = this.delegationFormControl.value;\r\n const payload: DelegationFormData = {\r\n delegateFrom: formValue?.delegateFrom?.id || formValue?.delegateFrom,\r\n delegateTo: formValue?.delegateTo?.id || formValue?.delegateTo,\r\n description: formValue?.description,\r\n delegateFromDateTime: formValue?.delegateFromDateTime,\r\n delegateToDateTime: formValue?.delegateToDateTime,\r\n delegationDaysType: formValue?.delegationDaysType || 'FullRange',\r\n specificDays:\r\n formValue?.delegationDaysType === 'SpecificDays'\r\n ? formValue?.specificDays || []\r\n : undefined,\r\n isActive: formValue?.isActive ?? false,\r\n };\r\n\r\n const delegationId = this.delegationForEdit()?.id;\r\n if (delegationId) {\r\n this.facade.updateDelegation(delegationId, payload).subscribe({\r\n next: () => {\r\n this.ref.close(true);\r\n },\r\n error: () => {},\r\n });\r\n } else {\r\n this.facade.addDelegation(payload).subscribe({\r\n next: () => {\r\n this.ref.close(true);\r\n },\r\n error: () => {},\r\n });\r\n }\r\n }\r\n}\r\n","<ng-container *transloco=\"let t; prefix: 'delegations'\">\r\n <div\r\n [class]=\"\r\n 'delegation-form-content flex min-w-0 flex-col gap-3 overflow-x-hidden p-4 max-[640px]:p-3 ' +\r\n modal.contentClass\r\n \"\r\n >\r\n @if (getDelegationFormLoading()) {\r\n <p-skeleton class=\"my-4 mt-7\" height=\"3rem\" />\r\n <p-skeleton class=\"my-4\" height=\"3rem\" />\r\n <p-skeleton class=\"my-4\" height=\"6rem\" />\r\n <p-skeleton class=\"my-4\" height=\"3rem\" />\r\n } @else {\r\n <mt-dynamic-form\r\n [formConfig]=\"delegationFormConfig()\"\r\n [formControl]=\"delegationFormControl\"\r\n />\r\n }\r\n </div>\r\n\r\n <div\r\n [class]=\"\r\n 'delegation-form-footer ' +\r\n modal.footerClass +\r\n ' flex-col gap-2 sm:flex-row sm:items-center sm:justify-end'\r\n \"\r\n >\r\n <mt-button\r\n [label]=\"'cancel' | transloco\"\r\n severity=\"secondary\"\r\n variant=\"outlined\"\r\n (click)=\"ref.close()\"\r\n styleClass=\"w-full sm:w-auto\"\r\n />\r\n <mt-button\r\n [label]=\"delegationForEdit() ? t('update') : t('create')\"\r\n [loading]=\"isAddingDelegation() || isUpdatingDelegation()\"\r\n [disabled]=\"!delegationFormControl.valid || isDelegatingToSelf()\"\r\n (click)=\"onSubmit()\"\r\n styleClass=\"w-full sm:w-auto\"\r\n />\r\n </div>\r\n</ng-container>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n Component,\r\n computed,\r\n inject,\r\n linkedSignal,\r\n OnInit,\r\n signal,\r\n TemplateRef,\r\n viewChild,\r\n} from '@angular/core';\r\nimport { ColumnDef, Table, TableAction } from '@masterteam/components/table';\r\nimport { SkeletonModule } from 'primeng/skeleton';\r\nimport { DelegationsFacade } from '../../../store/delegations';\r\nimport { Avatar } from '@masterteam/components/avatar';\r\nimport { TranslocoDirective, TranslocoService } from '@jsverse/transloco';\r\nimport { ModalService } from '@masterteam/components/modal';\r\nimport DelegationForm from '../delegation-form/delegation-form';\r\nimport { finalize } from 'rxjs';\r\nimport { Breadcrumb } from '@masterteam/components/breadcrumb';\r\nimport { Icon } from '@masterteam/icons';\r\n\r\n@Component({\r\n selector: 'mt-delegations-list',\r\n styleUrl: './delegations-list.css',\r\n templateUrl: './delegations-list.html',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n SkeletonModule,\r\n Table,\r\n Avatar,\r\n TranslocoDirective,\r\n Breadcrumb,\r\n Icon,\r\n ],\r\n})\r\nexport default class DelegationsList implements OnInit {\r\n statusCol = viewChild.required<TemplateRef<any>>('statusCol');\r\n userCol = viewChild.required<TemplateRef<any>>('userCol');\r\n userCol2 = viewChild.required<TemplateRef<any>>('userCol2');\r\n daysCol = viewChild.required<TemplateRef<any>>('daysCol');\r\n startDate = viewChild.required<TemplateRef<any>>('startDate');\r\n endDate = viewChild.required<TemplateRef<any>>('endDate');\r\n\r\n private readonly facade = inject(DelegationsFacade);\r\n readonly modal: ModalService = inject(ModalService);\r\n private readonly translocoService = inject(TranslocoService);\r\n\r\n breadcrumbItems = linkedSignal(() => [\r\n {\r\n label: '',\r\n icon: 'general.home-line',\r\n routerLink: '/control-panel/workspaces',\r\n },\r\n {\r\n label: this.translocoService.translate(\r\n 'product-settings.product-settings',\r\n ),\r\n routerLink: '/control-panel/product-settings',\r\n },\r\n {\r\n label: this.translocoService.translate('delegations.delegations'),\r\n },\r\n ]);\r\n\r\n delegations = computed(() => {\r\n const tab = this.activeTab();\r\n const all = this.allDelegations();\r\n const activeDelegations = this.activeDelegations();\r\n const inactiveDelegations = this.inactiveDelegations();\r\n\r\n switch (tab) {\r\n case 'active':\r\n return activeDelegations;\r\n case 'inactive':\r\n return inactiveDelegations;\r\n case 'all':\r\n default:\r\n return all;\r\n }\r\n });\r\n\r\n tabs = signal([\r\n {\r\n label: this.translocoService.translate('delegations.all'),\r\n value: 'all',\r\n },\r\n {\r\n label: this.translocoService.translate('delegations.active'),\r\n value: 'active',\r\n },\r\n {\r\n label: this.translocoService.translate('delegations.inactive'),\r\n value: 'inactive',\r\n },\r\n ]);\r\n activeTab = signal<string>('all');\r\n tableActions = signal<TableAction[]>([\r\n {\r\n icon: 'general.plus',\r\n label: this.translocoService.translate('delegations.add-delegation'),\r\n color: 'primary',\r\n action: () => {\r\n this.addDelegationDialog();\r\n },\r\n },\r\n ]);\r\n\r\n deletingRowIds = signal<any[]>([]);\r\n rowActions = signal<TableAction[]>([\r\n {\r\n icon: 'custom.pencil',\r\n tooltip: this.translocoService.translate('edit'),\r\n color: 'primary',\r\n action: (row: any) => {\r\n this.facade.clearSelectedDelegation();\r\n this.addDelegationDialog(row);\r\n },\r\n },\r\n {\r\n icon: 'general.trash-01',\r\n tooltip: this.translocoService.translate('delete'),\r\n color: 'danger',\r\n variant: 'outlined',\r\n action: (row: any) => {\r\n this.deletingRowIds.update((ids) => [...ids, row.id]);\r\n this.facade\r\n .deleteDelegation(row.id)\r\n .pipe(\r\n finalize(() => {\r\n this.deletingRowIds.update((ids) =>\r\n ids.filter((id) => id !== row.id),\r\n );\r\n }),\r\n )\r\n .subscribe();\r\n },\r\n confirmation: {\r\n type: 'popup',\r\n confirmationType: 'delete',\r\n },\r\n loading: (row: any) => this.deletingRowIds().includes(row.id),\r\n },\r\n ]);\r\n\r\n tableColumns = linkedSignal<ColumnDef[]>(() => [\r\n {\r\n key: 'isActive',\r\n label: this.translocoService.translate('delegations.status'),\r\n type: 'custom',\r\n customCellTpl: this.statusCol(),\r\n filterConfig: {\r\n type: 'select',\r\n label: this.translocoService.translate('delegations.status'),\r\n options: [\r\n {\r\n label: this.translocoService.translate('delegations.active'),\r\n value: true,\r\n },\r\n {\r\n label: this.translocoService.translate('delegations.inactive'),\r\n value: false,\r\n },\r\n ],\r\n },\r\n },\r\n {\r\n key: 'delegateFrom.displayName',\r\n label: this.translocoService.translate(\r\n 'delegations.originally-assigned-to',\r\n ),\r\n type: 'custom',\r\n customCellTpl: this.userCol(),\r\n },\r\n {\r\n key: 'delegateTo.displayName',\r\n label: this.translocoService.translate('delegations.delegated-to'),\r\n type: 'custom',\r\n customCellTpl: this.userCol2(),\r\n },\r\n {\r\n key: 'delegateFromDateTime.actualValue',\r\n label: this.translocoService.translate('delegations.start-date'),\r\n type: 'custom',\r\n customCellTpl: this.startDate(),\r\n filterConfig: {\r\n type: 'date',\r\n label: this.translocoService.translate('delegations.start-date'),\r\n },\r\n },\r\n {\r\n key: 'delegateToDateTime.actualValue',\r\n label: this.translocoService.translate('delegations.end-date'),\r\n type: 'custom',\r\n customCellTpl: this.endDate(),\r\n filterConfig: {\r\n type: 'date',\r\n label: this.translocoService.translate('delegations.end-date'),\r\n },\r\n },\r\n {\r\n key: 'days',\r\n label: this.translocoService.translate('delegations.days'),\r\n type: 'custom',\r\n customCellTpl: this.daysCol(),\r\n },\r\n ]);\r\n\r\n loading = this.facade.isLoadingDelegations;\r\n private allDelegations = this.facade.allDelegations;\r\n private activeDelegations = this.facade.activeDelegations;\r\n private inactiveDelegations = this.facade.inactiveDelegations;\r\n\r\n ngOnInit(): void {\r\n this.facade.getDelegations();\r\n }\r\n\r\n addDelegationDialog(delegation: any | null = null) {\r\n const modalType: 'drawer' | 'dialog' = delegation ? 'drawer' : 'dialog';\r\n const styleClass =\r\n modalType === 'drawer'\r\n ? '!absolute !shadow-none !w-full !max-w-full sm:!w-[42rem] xl:!w-[50rem]'\r\n : '!w-[min(96vw,50rem)] !max-w-[96vw]';\r\n\r\n this.modal.openModal(DelegationForm, modalType, {\r\n header: delegation\r\n ? this.translocoService.translate('delegations.edit-delegation')\r\n : this.translocoService.translate('delegations.add-delegation'),\r\n styleClass,\r\n position: modalType === 'drawer' ? 'end' : '',\r\n appendTo: modalType === 'drawer' ? 'page-content' : 'body',\r\n dismissableMask: true,\r\n dismissible: true,\r\n inputValues: {\r\n delegationForEdit: delegation,\r\n },\r\n });\r\n }\r\n}\r\n","<ng-container *transloco=\"let t; prefix: 'delegations'\">\r\n <div class=\"min-w-0 space-y-4\">\r\n <div class=\"flex min-w-0 items-center justify-between gap-4\">\r\n <div class=\"min-w-0 space-y-1\">\r\n <h1 class=\"text-xl font-semibold text-slate-900 tracking-tight\">\r\n {{ t(\"delegations\") }}\r\n </h1>\r\n <mt-breadcrumb\r\n [items]=\"breadcrumbItems()\"\r\n [styleClass]=\"'flex justify-start mx-1'\"\r\n ></mt-breadcrumb>\r\n </div>\r\n </div>\r\n <ng-template #statusCol let-row>\r\n <span\r\n class=\"flex items-center gap-2 text-md\"\r\n [class]=\"row.isActive ? 'text-green-700 ' : 'text-red-700 '\"\r\n >\r\n <mt-icon\r\n class=\"text-2xl\"\r\n [icon]=\"row.isActive ? 'media.play-circle' : 'media.pause-circle'\"\r\n ></mt-icon>\r\n {{ row.isActive ? t(\"active\") : t(\"inactive\") }}\r\n </span>\r\n </ng-template>\r\n\r\n <ng-template #userCol let-row>\r\n <div class=\"flex min-w-0 items-center gap-2\">\r\n <mt-avatar class=\"shrink-0\" [icon]=\"'custom.user-pp'\"></mt-avatar>\r\n <span class=\"truncate\">{{ row.delegateFrom?.displayName }}</span>\r\n </div>\r\n </ng-template>\r\n <ng-template #userCol2 let-row>\r\n <div class=\"flex min-w-0 items-center gap-2\">\r\n <mt-avatar class=\"shrink-0\" [icon]=\"'custom.user-pp'\"></mt-avatar>\r\n <span class=\"truncate\">{{ row.delegateTo?.displayName }}</span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #daysCol let-row>\r\n <div>{{ row.dayCounts }} {{ t(\"days\") }}</div>\r\n </ng-template>\r\n\r\n <ng-template #startDate let-row>\r\n <div>{{ row.delegateFromDateTime.displayValue }}</div>\r\n </ng-template>\r\n <ng-template #endDate let-row>\r\n <div>{{ row.delegateToDateTime.displayValue }}</div>\r\n </ng-template>\r\n\r\n <mt-table\r\n [tabs]=\"tabs()\"\r\n [(activeTab)]=\"activeTab\"\r\n [data]=\"delegations()\"\r\n [columns]=\"tableColumns()\"\r\n [actions]=\"tableActions()\"\r\n [rowActions]=\"rowActions()\"\r\n [generalSearch]=\"true\"\r\n [showFilters]=\"true\"\r\n [loading]=\"loading()\"\r\n storageKey=\"delegations-list-table\"\r\n >\r\n </mt-table>\r\n </div>\r\n</ng-container>\r\n","// store/index.ts\r\nexport * from './delegations';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAWc,MAAO,WAAW,CAAA;AACb,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAExC,MAAM,GAAA;QACJ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,gCAAgC,CAAC,CAAC;IAC1D;uGALmB,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAX,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,WAAW,0ECXhC,oeAeA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDRY,IAAI,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,aAAA,EAAA,OAAA,EAAA,MAAA,EAAA,WAAA,EAAA,cAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,YAAY,+KAAE,kBAAkB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,qBAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAI7B,WAAW,EAAA,UAAA,EAAA,CAAA;kBAN/B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,WACjB,CAAC,IAAI,EAAE,YAAY,EAAE,kBAAkB,CAAC,EAAA,QAAA,EAAA,oeAAA,EAAA;;;IEkCvC;AAAZ,CAAA,UAAY,oBAAoB,EAAA;AAC9B,IAAA,oBAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC;AACjC,IAAA,oBAAA,CAAA,eAAA,CAAA,GAAA,eAA+B;AAC/B,IAAA,oBAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC;AACrC,IAAA,oBAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC;AACrC,IAAA,oBAAA,CAAA,mBAAA,CAAA,GAAA,mBAAuC;AACzC,CAAC,EANW,oBAAoB,KAApB,oBAAoB,GAAA,EAAA,CAAA,CAAA;;MCvCnB,cAAc,CAAA;AACzB,IAAA,OAAgB,IAAI,GAAG,+BAA+B;;MAG3C,aAAa,CAAA;AAEL,IAAA,UAAA;AADnB,IAAA,OAAgB,IAAI,GAAG,8BAA8B;AACrD,IAAA,WAAA,CAAmB,UAA8B,EAAA;QAA9B,IAAA,CAAA,UAAU,GAAV,UAAU;IAAuB;;MAGzC,gBAAgB,CAAA;AAGlB,IAAA,EAAA;AACA,IAAA,UAAA;AAHT,IAAA,OAAgB,IAAI,GAAG,iCAAiC;IACxD,WAAA,CACS,EAAU,EACV,UAA8B,EAAA;QAD9B,IAAA,CAAA,EAAE,GAAF,EAAE;QACF,IAAA,CAAA,UAAU,GAAV,UAAU;IAChB;;MAGQ,gBAAgB,CAAA;AAER,IAAA,EAAA;AADnB,IAAA,OAAgB,IAAI,GAAG,iCAAiC;AACxD,IAAA,WAAA,CAAmB,EAAU,EAAA;QAAV,IAAA,CAAA,EAAE,GAAF,EAAE;IAAW;;MAGrB,aAAa,CAAA;AAEL,IAAA,EAAA;AADnB,IAAA,OAAgB,IAAI,GAAG,8BAA8B;AACrD,IAAA,WAAA,CAAmB,EAAU,EAAA;QAAV,IAAA,CAAA,EAAE,GAAF,EAAE;IAAW;;MAGrB,uBAAuB,CAAA;AAClC,IAAA,OAAgB,IAAI,GAAG,yCAAyC;;;;;;;;;ACD3D,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,aAIrC,CAAA;AACS,IAAA,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC;;;;AAO1B,IAAP,OAAO,iBAAiB,CAAC,KAA4B,EAAA;QACnD,OAAO,KAAK,CAAC,cAAc;IAC7B;AAGO,IAAP,OAAO,qBAAqB,CAC1B,KAA4B,EAAA;QAE5B,OAAO,KAAK,CAAC,kBAAkB;IACjC;;;;AAOO,IAAP,OAAO,gBAAgB,CAAC,KAA4B,EAAA;QAClD,OAAO,KAAK,CAAC,aAAa;IAC5B;AAGO,IAAP,OAAO,SAAS,CACd,KAA4B,EAAA;QAE5B,OAAO,KAAK,CAAC,MAAM;IACrB;;;;AAOA,IAAA,cAAc,CAAC,GAAwC,EAAA;QACrD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CACxB,0BAA0B,CAC3B;AAED,QAAA,OAAO,gBAAgB,CAAC;YACtB,GAAG;YACH,GAAG,EAAE,oBAAoB,CAAC,cAAc;AACxC,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,SAAS,EAAE,CAAC,QAAQ,MAAM;AACxB,gBAAA,cAAc,EAAE,QAAQ,CAAC,IAAI,IAAI,EAAE;aACpC,CAAC;AACH,SAAA,CAAC;IACJ;AAGA,IAAA,aAAa,CACX,GAAwC,EACxC,EAAE,EAAE,EAAiB,EAAA;AAErB,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CACxB,CAAA,qBAAA,EAAwB,EAAE,CAAA,CAAE,CAC7B;AAED,QAAA,OAAO,gBAAgB,CAAC;YACtB,GAAG;YACH,GAAG,EAAE,oBAAoB,CAAC,iBAAiB;AAC3C,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,SAAS,EAAE,CAAC,QAAQ,MAAM;AACxB,gBAAA,kBAAkB,EAAE,QAAQ,CAAC,IAAI,IAAI,IAAI;aAC1C,CAAC;AACH,SAAA,CAAC;IACJ;AAGA,IAAA,aAAa,CACX,GAAwC,EACxC,EAAE,UAAU,EAAiB,EAAA;AAE7B,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CACzB,sBAAsB,EACtB,UAAU,CACX;AAED,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;YACtB,GAAG,EAAE,oBAAoB,CAAC,aAAa;AACvC,YAAA,QAAQ,EAAE,IAAI;YACd,aAAa,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,cAAc;AAC/C,SAAA,CAAC;IACJ;AAGA,IAAA,gBAAgB,CACd,GAAwC,EACxC,EAAE,EAAE,EAAE,UAAU,EAAoB,EAAA;AAEpC,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CACxB,CAAA,qBAAA,EAAwB,EAAE,CAAA,CAAE,EAC5B,UAAU,CACX;AAED,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;YACtB,GAAG,EAAE,oBAAoB,CAAC,gBAAgB;AAC1C,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,SAAS,EAAE,IAAI;YACf,EAAE;YACF,aAAa,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,cAAc;AAC/C,SAAA,CAAC;IACJ;AAGA,IAAA,gBAAgB,CACd,GAAwC,EACxC,EAAE,EAAE,EAAoB,EAAA;AAExB,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAiB,CAAA,qBAAA,EAAwB,EAAE,CAAA,CAAE,CAAC;AAE3E,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;YACtB,GAAG,EAAE,oBAAoB,CAAC,gBAAgB;AAC1C,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,SAAS,EAAE,IAAI;YACf,EAAE;YACF,aAAa,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,cAAc;AAC/C,SAAA,CAAC;IACJ;AAGA,IAAA,uBAAuB,CAAC,GAAwC,EAAA;QAC9D,GAAG,CAAC,UAAU,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;IAC9C;uGArIW,gBAAgB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;2GAAhB,gBAAgB,EAAA,CAAA;;AA4C3B,UAAA,CAAA;IADC,MAAM,CAAC,cAAc;AAcrB,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,gBAAA,EAAA,IAAA,CAAA;AAGD,UAAA,CAAA;IADC,MAAM,CAAC,aAAa;AAiBpB,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,eAAA,EAAA,IAAA,CAAA;AAGD,UAAA,CAAA;IADC,MAAM,CAAC,aAAa;AAepB,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,eAAA,EAAA,IAAA,CAAA;AAGD,UAAA,CAAA;IADC,MAAM,CAAC,gBAAgB;AAiBvB,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,kBAAA,EAAA,IAAA,CAAA;AAGD,UAAA,CAAA;IADC,MAAM,CAAC,gBAAgB;AAcvB,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,kBAAA,EAAA,IAAA,CAAA;AAGD,UAAA,CAAA;IADC,MAAM,CAAC,uBAAuB;AAG9B,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,yBAAA,EAAA,IAAA,CAAA;AAzHM,UAAA,CAAA;AADN,IAAA,QAAQ;AAGR,CAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,IAAA,CAAA;AAGM,UAAA,CAAA;AADN,IAAA,QAAQ;AAKR,CAAA,EAAA,gBAAA,EAAA,uBAAA,EAAA,IAAA,CAAA;AAOM,UAAA,CAAA;AADN,IAAA,QAAQ;AAGR,CAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,IAAA,CAAA;AAGM,UAAA,CAAA;AADN,IAAA,QAAQ;AAKR,CAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,IAAA,CAAA;AArCU,gBAAgB,GAAA,UAAA,CAAA;AAV5B,IAAA,KAAK,CAAwB;AAC5B,QAAA,IAAI,EAAE,aAAa;AACnB,QAAA,QAAQ,EAAE;AACR,YAAA,cAAc,EAAE,EAAE;AAClB,YAAA,kBAAkB,EAAE,IAAI;AACxB,YAAA,aAAa,EAAE,EAAE;AACjB,YAAA,MAAM,EAAE,EAAE;AACX,SAAA;KACF;AAEY,CAAA,EAAA,gBAAgB,CAsI5B;2FAtIY,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAD5B;;;MCdY,iBAAiB,CAAA;AACX,IAAA,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;;;;AAK7B,IAAA,cAAc,GAAG,MAAM,CAAC,gBAAgB,CAAC,iBAAiB,CAAC;AAC3D,IAAA,kBAAkB,GAAG,MAAM,CAAC,gBAAgB,CAAC,qBAAqB,CAAC;;;;AAK3D,IAAA,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,CAAC;AACzD,IAAA,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC;;;;AAKnD,IAAA,oBAAoB,GAAG,QAAQ,CAAC,MACvC,IAAI,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC,cAAc,CAAC,2FACnE;AACQ,IAAA,mBAAmB,GAAG,QAAQ,CAAC,MACtC,IAAI,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,0FACtE;AACQ,IAAA,kBAAkB,GAAG,QAAQ,CAAC,MACrC,IAAI,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC,aAAa,CAAC,yFAClE;AACQ,IAAA,oBAAoB,GAAG,QAAQ,CAAC,MACvC,IAAI,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,2FACrE;AACQ,IAAA,oBAAoB,GAAG,QAAQ,CAAC,MACvC,IAAI,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,2FACrE;;;;AAKQ,IAAA,gBAAgB,GAAG,QAAQ,CAClC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,oBAAoB,CAAC,cAAc,CAAC,IAAI,IAAI,uFACjE;AACQ,IAAA,eAAe,GAAG,QAAQ,CACjC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,IAAI,IAAI,sFACpE;AACQ,IAAA,kBAAkB,GAAG,QAAQ,CACpC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,oBAAoB,CAAC,aAAa,CAAC,IAAI,IAAI,yFAChE;AACQ,IAAA,qBAAqB,GAAG,QAAQ,CACvC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,IAAI,IAAI,4FACnE;AACQ,IAAA,qBAAqB,GAAG,QAAQ,CACvC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,IAAI,IAAI,4FACnE;;;;IAKQ,iBAAiB,GAAG,QAAQ,CAAC,MACpC,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CACzD;IAEQ,mBAAmB,GAAG,QAAQ,CAAC,MACtC,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,qBAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAC1D;;;;IAMD,cAAc,GAAA;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,cAAc,EAAE,CAAC;IAClD;AAEA,IAAA,aAAa,CAAC,UAA8B,EAAA;AAC1C,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,aAAa,CAAC,UAAU,CAAC,CAAC;IAC3D;IAEA,gBAAgB,CAAC,EAAU,EAAE,UAA8B,EAAA;AACzD,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IAClE;AAEA,IAAA,gBAAgB,CAAC,EAAU,EAAA;AACzB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACtD;AAEA,IAAA,cAAc,CAAC,EAAU,EAAA;AACvB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,aAAa,CAAC,EAAE,CAAC,CAAC;IACnD;IAEA,uBAAuB,GAAA;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uBAAuB,EAAE,CAAC;IAC3D;uGA1FW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAjB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cADJ,MAAM,EAAA,CAAA;;2FACnB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;AC6CpB,MAAO,cAAc,CAAA;IAChB,mBAAmB,GAAG,mCAAmC;IACzD,mBAAmB,GAAG,oCAAoC;AAE3E,IAAA,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC;AAC5B,IAAA,GAAG,GAAa,MAAM,CAAC,QAAQ,CAAC;AAChC,IAAA,iBAAiB,GAAG,KAAK,CAAoB,IAAI,wFAAC;AACjC,IAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAC3C,IAAA,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC;AACnD,IAAA,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB;AACnD,IAAA,qBAAqB,GAAG,IAAI,WAAW,EAAE;IACzC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC;AAC7D,IAAA,wBAAwB,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB;AAC1D,IAAA,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB;AACnD,IAAA,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB;IACvD,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE;AAC/C,QAAA,UAAU,EAAE,KAAK;AAClB,KAAA,CAAC;AAEF,IAAA,kBAAkB,GAAG,QAAQ,CAAC,MAAK;AACjC,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE;QAClC,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,EAAE,EAAE,IAAI,SAAS,CAAC,YAAY;QACnE,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,EAAE,EAAE,IAAI,SAAS,CAAC,UAAU;QAC7D,OAAO,MAAM,KAAK,IAAI;AACxB,IAAA,CAAC,yFAAC;IAEF,mBAAmB,GAAG,MAAM,CAAC;AAC3B,QAAA;YACE,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,oBAAoB,CAAC;AAC5D,YAAA,KAAK,EAAE,CAAC;AACT,SAAA;AACD,QAAA;YACE,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,oBAAoB,CAAC;AAC5D,YAAA,KAAK,EAAE,CAAC;AACT,SAAA;AACD,QAAA;YACE,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,qBAAqB,CAAC;AAC7D,YAAA,KAAK,EAAE,CAAC;AACT,SAAA;AACD,QAAA;YACE,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,uBAAuB,CAAC;AAC/D,YAAA,KAAK,EAAE,CAAC;AACT,SAAA;AACD,QAAA;YACE,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,sBAAsB,CAAC;AAC9D,YAAA,KAAK,EAAE,CAAC;AACT,SAAA;AACD,QAAA;YACE,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,oBAAoB,CAAC;AAC5D,YAAA,KAAK,EAAE,CAAC;AACT,SAAA;AACD,QAAA;YACE,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,sBAAsB,CAAC;AAC9D,YAAA,KAAK,EAAE,CAAC;AACT,SAAA;AACF,KAAA,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,qBAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAC;AAEF,IAAA,oBAAoB,GAAG,QAAQ,CAAoB,OAAO;AACxD,QAAA,QAAQ,EAAE;AACR,YAAA;AACE,gBAAA,GAAG,EAAE,sBAAsB;AAC3B,gBAAA,IAAI,EAAE,QAAQ;AACd,gBAAA,SAAS,EAAE,oDAAoD;AAC/D,gBAAA,KAAK,EAAE,CAAC;AACR,gBAAA,MAAM,EAAE;AACN,oBAAA,IAAI,qBAAqB,CAAC;AACxB,wBAAA,GAAG,EAAE,cAAc;wBACnB,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CACpC,oCAAoC,CACrC;AACD,wBAAA,MAAM,EAAE,gBAAgB;wBACxB,OAAO,EAAE,IAAI,CAAC,OAAO;AACrB,wBAAA,UAAU,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;AACxC,wBAAA,KAAK,EAAE,CAAC;wBACR,QAAQ,EAAE,IAAI,CAAC,mBAAmB;AAClC,wBAAA,OAAO,EAAE,CAAC;wBACV,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,EAAE;qBACzC,CAAC;AACF,oBAAA,IAAI,qBAAqB,CAAC;AACxB,wBAAA,GAAG,EAAE,YAAY;wBACjB,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,0BAA0B,CAAC;AAClE,wBAAA,MAAM,EAAE,gBAAgB;wBACxB,OAAO,EAAE,IAAI,CAAC,OAAO;AACrB,wBAAA,UAAU,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;AACxC,wBAAA,KAAK,EAAE,CAAC;wBACR,QAAQ,EAAE,IAAI,CAAC,mBAAmB;AAClC,wBAAA,OAAO,EAAE,CAAC;wBACV,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,EAAE;qBACzC,CAAC;AACF,oBAAA,IAAI,mBAAmB,CAAC;AACtB,wBAAA,GAAG,EAAE,aAAa;wBAClB,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,yBAAyB,CAAC;wBACjE,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAC1C,yBAAyB,CAC1B;wBACD,QAAQ,EAAE,IAAI,CAAC,mBAAmB;AAClC,wBAAA,OAAO,EAAE,EAAE;AACX,wBAAA,KAAK,EAAE,CAAC;qBACT,CAAC;AACF,oBAAA,IAAI,eAAe,CAAC;AAClB,wBAAA,GAAG,EAAE,sBAAsB;wBAC3B,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CACpC,kCAAkC,CACnC;wBACD,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAC1C,kCAAkC,CACnC;AACD,wBAAA,UAAU,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;AACxC,wBAAA,QAAQ,EAAE,IAAI;wBACd,QAAQ,EAAE,IAAI,CAAC,mBAAmB;AAClC,wBAAA,OAAO,EAAE,CAAC;AACV,wBAAA,KAAK,EAAE,CAAC;qBACT,CAAC;AACF,oBAAA,IAAI,eAAe,CAAC;AAClB,wBAAA,GAAG,EAAE,oBAAoB;wBACzB,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CACpC,gCAAgC,CACjC;wBACD,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAC1C,gCAAgC,CACjC;AACD,wBAAA,UAAU,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;AACxC,wBAAA,QAAQ,EAAE,IAAI;wBACd,QAAQ,EAAE,IAAI,CAAC,mBAAmB;AAClC,wBAAA,OAAO,EAAE,CAAC;AACV,wBAAA,KAAK,EAAE,CAAC;qBACT,CAAC;AACF,oBAAA,IAAI,sBAAsB,CAAC;AACzB,wBAAA,GAAG,EAAE,oBAAoB;wBACzB,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CACpC,mCAAmC,CACpC;AACD,wBAAA,OAAO,EAAE;AACP,4BAAA;gCACE,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CACpC,wBAAwB,CACzB;AACD,gCAAA,KAAK,EAAE,WAAW;AACnB,6BAAA;AACD,4BAAA;gCACE,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CACpC,2BAA2B,CAC5B;AACD,gCAAA,KAAK,EAAE,cAAc;AACtB,6BAAA;AACF,yBAAA;AACD,wBAAA,WAAW,EAAE,OAAO;AACpB,wBAAA,WAAW,EAAE,OAAO;AACpB,wBAAA,UAAU,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;wBACxC,QAAQ,EAAE,IAAI,CAAC,mBAAmB;AAClC,wBAAA,OAAO,EAAE,EAAE;AACX,wBAAA,KAAK,EAAE,CAAC;qBACT,CAAC;AACF,oBAAA,IAAI,sBAAsB,CAAC;AACzB,wBAAA,GAAG,EAAE,cAAc;wBACnB,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,2BAA2B,CAAC;AACnE,wBAAA,OAAO,EAAE,IAAI,CAAC,mBAAmB,EAAE;AACnC,wBAAA,WAAW,EAAE,OAAO;AACpB,wBAAA,WAAW,EAAE,OAAO;AACpB,wBAAA,iBAAiB,EAAE,CAAC;AACpB,wBAAA,SAAS,EAAE;AACT,4BAAA;AACE,gCAAA,GAAG,EAAE,oBAAoB;AACzB,gCAAA,KAAK,EAAE,cAAc;AACrB,gCAAA,MAAM,EAAE,MAAM;AACf,6BAAA;AACF,yBAAA;wBACD,QAAQ,EAAE,IAAI,CAAC,mBAAmB;AAClC,wBAAA,OAAO,EAAE,EAAE;AACX,wBAAA,KAAK,EAAE,CAAC;qBACT,CAAC;AACF,oBAAA,IAAI,iBAAiB,CAAC;AACpB,wBAAA,GAAG,EAAE,UAAU;wBACf,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CACpC,+BAA+B,CAChC;AACD,wBAAA,QAAQ,EAAE,CAAA,EAAG,IAAI,CAAC,mBAAmB,CAAA,KAAA,CAAO;AAC5C,wBAAA,KAAK,EAAE,CAAC;qBACT,CAAC;AACH,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA,CAAC,2FAAC;AAEH,IAAA,WAAA,GAAA;QACE,MAAM,CAAC,MAAK;YACV,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,EAAE,EAAE,EAAE;AACjD,YAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE,IAAI,YAAY,EAAE;AAC7C,gBAAA,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,EAAE;AAC5C,gBAAA,MAAM,IAAI,GAAG;oBACX,YAAY,EAAE,UAAU,EAAE,YAAY;oBACtC,UAAU,EAAE,UAAU,EAAE,UAAU;oBAClC,WAAW,EAAE,UAAU,EAAE,WAAW;AACpC,oBAAA,oBAAoB,EAAE,UAAU,EAAE,oBAAoB,EAAE;0BACpD,IAAI,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,WAAW;AACtD,0BAAE,SAAS;AACb,oBAAA,kBAAkB,EAAE,UAAU,EAAE,kBAAkB,EAAE;0BAChD,IAAI,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,WAAW;AACpD,0BAAE,SAAS;AACb,oBAAA,kBAAkB,EAAE,UAAU,EAAE,kBAAkB,IAAI,WAAW;AACjE,oBAAA,YAAY,EAAE,UAAU,EAAE,YAAY,IAAI,EAAE;AAC5C,oBAAA,QAAQ,EAAE,UAAU,EAAE,QAAQ,IAAI,KAAK;iBACxC;AACD,gBAAA,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,IAAI,CAAC;YAC7C;iBAAO;AACL,gBAAA,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;AAC/B,oBAAA,kBAAkB,EAAE,WAAW;AAC/B,oBAAA,QAAQ,EAAE,IAAI;AACf,iBAAA,CAAC;YACJ;AACF,QAAA,CAAC,CAAC;IACJ;IAEA,QAAQ,GAAA;QACN,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,EAAE,EAAE,EAAE;QACjD,IAAI,YAAY,EAAE;AAChB,YAAA,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC;QAC1C;IACF;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE;YACrC;QACF;AAEA,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK;AAClD,QAAA,MAAM,OAAO,GAAuB;YAClC,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,IAAI,SAAS,EAAE,YAAY;YACpE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,IAAI,SAAS,EAAE,UAAU;YAC9D,WAAW,EAAE,SAAS,EAAE,WAAW;YACnC,oBAAoB,EAAE,SAAS,EAAE,oBAAoB;YACrD,kBAAkB,EAAE,SAAS,EAAE,kBAAkB;AACjD,YAAA,kBAAkB,EAAE,SAAS,EAAE,kBAAkB,IAAI,WAAW;AAChE,YAAA,YAAY,EACV,SAAS,EAAE,kBAAkB,KAAK;AAChC,kBAAE,SAAS,EAAE,YAAY,IAAI;AAC7B,kBAAE,SAAS;AACf,YAAA,QAAQ,EAAE,SAAS,EAAE,QAAQ,IAAI,KAAK;SACvC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,EAAE,EAAE,EAAE;QACjD,IAAI,YAAY,EAAE;YAChB,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC;gBAC5D,IAAI,EAAE,MAAK;AACT,oBAAA,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gBACtB,CAAC;AACD,gBAAA,KAAK,EAAE,MAAK,EAAE,CAAC;AAChB,aAAA,CAAC;QACJ;aAAO;YACL,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC;gBAC3C,IAAI,EAAE,MAAK;AACT,oBAAA,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gBACtB,CAAC;AACD,gBAAA,KAAK,EAAE,MAAK,EAAE,CAAC;AAChB,aAAA,CAAC;QACJ;IACF;uGAhQmB,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAd,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,yOAFtB,CAAC,aAAa,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECxD5B,i5CA2CA,qODKI,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACZ,MAAM,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,eAAA,EAAA,MAAA,EAAA,SAAA,EAAA,WAAA,EAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACN,kBAAkB,+LAClB,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,OAAA,EAAA,WAAA,EAAA,cAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACd,WAAW,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,uBAAA,EAAA,4BAAA,EAAA,oBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACX,mBAAmB,qTACnB,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA;;2FAII,cAAc,EAAA,UAAA,EAAA,CAAA;kBAhBlC,SAAS;+BACE,oBAAoB,EAAA,UAAA,EAGlB,IAAI,EAAA,OAAA,EACP;wBACP,YAAY;wBACZ,MAAM;wBACN,kBAAkB;wBAClB,cAAc;wBACd,WAAW;wBACX,mBAAmB;wBACnB,aAAa;qBACd,EAAA,SAAA,EACU,CAAC,aAAa,CAAC,EAAA,QAAA,EAAA,i5CAAA,EAAA,MAAA,EAAA,CAAA,8KAAA,CAAA,EAAA;;;AEnBd,MAAO,eAAe,CAAA;AAClC,IAAA,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAmB,WAAW,CAAC;AAC7D,IAAA,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAmB,SAAS,CAAC;AACzD,IAAA,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAmB,UAAU,CAAC;AAC3D,IAAA,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAmB,SAAS,CAAC;AACzD,IAAA,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAmB,WAAW,CAAC;AAC7D,IAAA,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAmB,SAAS,CAAC;AAExC,IAAA,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC1C,IAAA,KAAK,GAAiB,MAAM,CAAC,YAAY,CAAC;AAClC,IAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAE5D,IAAA,eAAe,GAAG,YAAY,CAAC,MAAM;AACnC,QAAA;AACE,YAAA,KAAK,EAAE,EAAE;AACT,YAAA,IAAI,EAAE,mBAAmB;AACzB,YAAA,UAAU,EAAE,2BAA2B;AACxC,SAAA;AACD,QAAA;YACE,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CACpC,mCAAmC,CACpC;AACD,YAAA,UAAU,EAAE,iCAAiC;AAC9C,SAAA;AACD,QAAA;YACE,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,yBAAyB,CAAC;AAClE,SAAA;AACF,KAAA,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAC;AAEF,IAAA,WAAW,GAAG,QAAQ,CAAC,MAAK;AAC1B,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE;AAC5B,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,EAAE;AACjC,QAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,EAAE;AAClD,QAAA,MAAM,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,EAAE;QAEtD,QAAQ,GAAG;AACT,YAAA,KAAK,QAAQ;AACX,gBAAA,OAAO,iBAAiB;AAC1B,YAAA,KAAK,UAAU;AACb,gBAAA,OAAO,mBAAmB;AAC5B,YAAA,KAAK,KAAK;AACV,YAAA;AACE,gBAAA,OAAO,GAAG;;AAEhB,IAAA,CAAC,kFAAC;IAEF,IAAI,GAAG,MAAM,CAAC;AACZ,QAAA;YACE,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,iBAAiB,CAAC;AACzD,YAAA,KAAK,EAAE,KAAK;AACb,SAAA;AACD,QAAA;YACE,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,oBAAoB,CAAC;AAC5D,YAAA,KAAK,EAAE,QAAQ;AAChB,SAAA;AACD,QAAA;YACE,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,sBAAsB,CAAC;AAC9D,YAAA,KAAK,EAAE,UAAU;AAClB,SAAA;AACF,KAAA,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAC;AACF,IAAA,SAAS,GAAG,MAAM,CAAS,KAAK,gFAAC;IACjC,YAAY,GAAG,MAAM,CAAgB;AACnC,QAAA;AACE,YAAA,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,4BAA4B,CAAC;AACpE,YAAA,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,MAAK;gBACX,IAAI,CAAC,mBAAmB,EAAE;YAC5B,CAAC;AACF,SAAA;AACF,KAAA,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,cAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAC;AAEF,IAAA,cAAc,GAAG,MAAM,CAAQ,EAAE,qFAAC;IAClC,UAAU,GAAG,MAAM,CAAgB;AACjC,QAAA;AACE,YAAA,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC;AAChD,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,MAAM,EAAE,CAAC,GAAQ,KAAI;AACnB,gBAAA,IAAI,CAAC,MAAM,CAAC,uBAAuB,EAAE;AACrC,gBAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC;YAC/B,CAAC;AACF,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,QAAQ,CAAC;AAClD,YAAA,KAAK,EAAE,QAAQ;AACf,YAAA,OAAO,EAAE,UAAU;AACnB,YAAA,MAAM,EAAE,CAAC,GAAQ,KAAI;AACnB,gBAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;AACrD,gBAAA,IAAI,CAAC;AACF,qBAAA,gBAAgB,CAAC,GAAG,CAAC,EAAE;AACvB,qBAAA,IAAI,CACH,QAAQ,CAAC,MAAK;oBACZ,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,KAC7B,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAClC;AACH,gBAAA,CAAC,CAAC;AAEH,qBAAA,SAAS,EAAE;YAChB,CAAC;AACD,YAAA,YAAY,EAAE;AACZ,gBAAA,IAAI,EAAE,OAAO;AACb,gBAAA,gBAAgB,EAAE,QAAQ;AAC3B,aAAA;AACD,YAAA,OAAO,EAAE,CAAC,GAAQ,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;AAC9D,SAAA;AACF,KAAA,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,YAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAC;AAEF,IAAA,YAAY,GAAG,YAAY,CAAc,MAAM;AAC7C,QAAA;AACE,YAAA,GAAG,EAAE,UAAU;YACf,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,oBAAoB,CAAC;AAC5D,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,aAAa,EAAE,IAAI,CAAC,SAAS,EAAE;AAC/B,YAAA,YAAY,EAAE;AACZ,gBAAA,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,oBAAoB,CAAC;AAC5D,gBAAA,OAAO,EAAE;AACP,oBAAA;wBACE,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,oBAAoB,CAAC;AAC5D,wBAAA,KAAK,EAAE,IAAI;AACZ,qBAAA;AACD,oBAAA;wBACE,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,sBAAsB,CAAC;AAC9D,wBAAA,KAAK,EAAE,KAAK;AACb,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA;AACE,YAAA,GAAG,EAAE,0BAA0B;YAC/B,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CACpC,oCAAoC,CACrC;AACD,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,aAAa,EAAE,IAAI,CAAC,OAAO,EAAE;AAC9B,SAAA;AACD,QAAA;AACE,YAAA,GAAG,EAAE,wBAAwB;YAC7B,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,0BAA0B,CAAC;AAClE,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,aAAa,EAAE,IAAI,CAAC,QAAQ,EAAE;AAC/B,SAAA;AACD,QAAA;AACE,YAAA,GAAG,EAAE,kCAAkC;YACvC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,wBAAwB,CAAC;AAChE,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,aAAa,EAAE,IAAI,CAAC,SAAS,EAAE;AAC/B,YAAA,YAAY,EAAE;AACZ,gBAAA,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,wBAAwB,CAAC;AACjE,aAAA;AACF,SAAA;AACD,QAAA;AACE,YAAA,GAAG,EAAE,gCAAgC;YACrC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,sBAAsB,CAAC;AAC9D,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,aAAa,EAAE,IAAI,CAAC,OAAO,EAAE;AAC7B,YAAA,YAAY,EAAE;AACZ,gBAAA,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,sBAAsB,CAAC;AAC/D,aAAA;AACF,SAAA;AACD,QAAA;AACE,YAAA,GAAG,EAAE,MAAM;YACX,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,kBAAkB,CAAC;AAC1D,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,aAAa,EAAE,IAAI,CAAC,OAAO,EAAE;AAC9B,SAAA;AACF,KAAA,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,cAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAC;AAEF,IAAA,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB;AAClC,IAAA,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc;AAC3C,IAAA,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB;AACjD,IAAA,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB;IAE7D,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE;IAC9B;IAEA,mBAAmB,CAAC,aAAyB,IAAI,EAAA;QAC/C,MAAM,SAAS,GAAwB,UAAU,GAAG,QAAQ,GAAG,QAAQ;AACvE,QAAA,MAAM,UAAU,GACd,SAAS,KAAK;AACZ,cAAE;cACA,oCAAoC;QAE1C,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,EAAE,SAAS,EAAE;AAC9C,YAAA,MAAM,EAAE;kBACJ,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,6BAA6B;kBAC7D,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,4BAA4B,CAAC;YACjE,UAAU;YACV,QAAQ,EAAE,SAAS,KAAK,QAAQ,GAAG,KAAK,GAAG,EAAE;YAC7C,QAAQ,EAAE,SAAS,KAAK,QAAQ,GAAG,cAAc,GAAG,MAAM;AAC1D,YAAA,eAAe,EAAE,IAAI;AACrB,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,WAAW,EAAE;AACX,gBAAA,iBAAiB,EAAE,UAAU;AAC9B,aAAA;AACF,SAAA,CAAC;IACJ;uGAzMmB,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECrCpC,u1EAiEA,EAAA,MAAA,EAAA,CAAA,+4BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDrCI,YAAY,8BACZ,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACd,KAAK,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,MAAA,EAAA,SAAA,EAAA,YAAA,EAAA,MAAA,EAAA,eAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,SAAA,EAAA,UAAA,EAAA,MAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,YAAA,EAAA,aAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,MAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,aAAA,EAAA,OAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,eAAA,EAAA,YAAA,EAAA,UAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,aAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACL,MAAM,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,YAAA,EAAA,MAAA,EAAA,OAAA,EAAA,OAAA,EAAA,WAAA,EAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACN,kBAAkB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAClB,UAAU,qHACV,IAAI,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAGa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAfnC,SAAS;+BACE,qBAAqB,EAAA,UAAA,EAGnB,IAAI,EAAA,OAAA,EACP;wBACP,YAAY;wBACZ,cAAc;wBACd,KAAK;wBACL,MAAM;wBACN,kBAAkB;wBAClB,UAAU;wBACV,IAAI;AACL,qBAAA,EAAA,QAAA,EAAA,u1EAAA,EAAA,MAAA,EAAA,CAAA,+4BAAA,CAAA,EAAA;uEAGgD,WAAW,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CACb,SAAS,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CACR,UAAU,iEACX,SAAS,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CACP,WAAW,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CACb,SAAS,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AE3C1D;;ACAA;;AAEG;;;;"}
|
package/package.json
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@masterteam/delegations",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.7",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"directory": "../../../dist/masterteam/delegations",
|
|
6
6
|
"linkDirectory": false,
|
|
7
7
|
"access": "public"
|
|
8
8
|
},
|
|
9
9
|
"peerDependencies": {
|
|
10
|
-
"@angular/common": "^21.
|
|
11
|
-
"@angular/core": "^21.
|
|
12
|
-
"@angular/forms": "^21.
|
|
13
|
-
"@angular/cdk": "^21.
|
|
14
|
-
"@primeuix/themes": "^2.0.
|
|
15
|
-
"@tailwindcss/postcss": "^4.
|
|
16
|
-
"@jsverse/transloco": "^8.0
|
|
17
|
-
"postcss": "^8.5.
|
|
18
|
-
"primeng": "21.
|
|
10
|
+
"@angular/common": "^21.2.8",
|
|
11
|
+
"@angular/core": "^21.2.8",
|
|
12
|
+
"@angular/forms": "^21.2.8",
|
|
13
|
+
"@angular/cdk": "^21.2.6",
|
|
14
|
+
"@primeuix/themes": "^2.0.3",
|
|
15
|
+
"@tailwindcss/postcss": "^4.2.2",
|
|
16
|
+
"@jsverse/transloco": "^8.3.0",
|
|
17
|
+
"postcss": "^8.5.9",
|
|
18
|
+
"primeng": "21.1.5",
|
|
19
19
|
"rxjs": "^7.8.2",
|
|
20
|
-
"tailwindcss": "^4.
|
|
20
|
+
"tailwindcss": "^4.2.2",
|
|
21
21
|
"tailwindcss-primeui": "^0.6.1",
|
|
22
22
|
"@ngxs/store": "^20.1.0",
|
|
23
|
-
"@masterteam/components": "^0.0.
|
|
24
|
-
"@masterteam/forms": "^0.0.
|
|
23
|
+
"@masterteam/components": "^0.0.139",
|
|
24
|
+
"@masterteam/forms": "^0.0.65",
|
|
25
25
|
"@masterteam/icons": "^0.0.14"
|
|
26
26
|
},
|
|
27
27
|
"sideEffects": false,
|
|
@@ -42,6 +42,7 @@
|
|
|
42
42
|
},
|
|
43
43
|
"module": "fesm2022/masterteam-delegations.mjs",
|
|
44
44
|
"typings": "types/masterteam-delegations.d.ts",
|
|
45
|
+
"type": "module",
|
|
45
46
|
"dependencies": {
|
|
46
47
|
"tslib": "^2.8.1"
|
|
47
48
|
}
|
|
@@ -197,6 +197,8 @@ declare class DelegationsFacade {
|
|
|
197
197
|
}
|
|
198
198
|
|
|
199
199
|
declare class DelegationForm implements OnInit {
|
|
200
|
+
private readonly halfWidthFieldClass;
|
|
201
|
+
private readonly fullWidthFieldClass;
|
|
200
202
|
modal: ModalService;
|
|
201
203
|
ref: ModalRef;
|
|
202
204
|
delegationForEdit: _angular_core.InputSignal<Delegation | null>;
|