@doroteati/mia-category-editor 21.0.1 → 21.0.2

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.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Inject, Component, Injectable, NgModule } from '@angular/core';
2
+ import { Inject, Component, Injectable } from '@angular/core';
3
3
  import { MiaQuery } from '@doroteati/mia-core';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import { Subject } from 'rxjs';
@@ -12,6 +12,7 @@ import * as i1 from '@angular/material/dialog';
12
12
  import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
13
13
  import * as i4 from '@angular/material/button';
14
14
  import { MatButtonModule } from '@angular/material/button';
15
+ import { MiaFormModalConfig, MiaFormConfig, MiaField, MiaFormModalComponent } from '@doroteati/mia-form';
15
16
 
16
17
  class MiaOrganizeCategoryModalConfig {
17
18
  hasNewCategory = true;
@@ -31,17 +32,19 @@ class OrganizeCategoryModalComponent {
31
32
  config;
32
33
  categoryService;
33
34
  categoryModal;
35
+ cdr;
34
36
  categories = new Array();
35
37
  items = new Array();
36
38
  isSending = false;
37
39
  isLoading = true;
38
40
  dropListIds = new Array();
39
41
  actions = new Subject();
40
- constructor(dialogRef, config, categoryService, categoryModal) {
42
+ constructor(dialogRef, config, categoryService, categoryModal, cdr) {
41
43
  this.dialogRef = dialogRef;
42
44
  this.config = config;
43
45
  this.categoryService = categoryService;
44
46
  this.categoryModal = categoryModal;
47
+ this.cdr = cdr;
45
48
  }
46
49
  ngOnInit() {
47
50
  this.actions.next({ action: 'loaded', item: undefined });
@@ -80,7 +83,10 @@ class OrganizeCategoryModalComponent {
80
83
  this.categories.forEach((c) => this.dropListIds.push('drop-category-' + c.id));
81
84
  }))
82
85
  .pipe(map(() => this.categories.map((c) => (c.items = items.filter((i) => i[this.config.fieldCategoryId] == c.id)))))
83
- .subscribe(() => (this.isLoading = false));
86
+ .subscribe(() => {
87
+ this.isLoading = false;
88
+ this.cdr.detectChanges();
89
+ });
84
90
  }
85
91
  obCategories() {
86
92
  let query = new MiaQuery();
@@ -106,7 +112,7 @@ class OrganizeCategoryModalComponent {
106
112
  transferArrayItem(event.previousContainer.data, event.container.data, event.previousIndex, event.currentIndex);
107
113
  }
108
114
  }
109
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: OrganizeCategoryModalComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.MiaCategoryService }, { token: MiaCategoryModalService }], target: i0.ɵɵFactoryTarget.Component });
115
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: OrganizeCategoryModalComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.MiaCategoryService }, { token: MiaCategoryModalService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
110
116
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: OrganizeCategoryModalComponent, isStandalone: true, selector: "mia-organize-category-modal", ngImport: i0, template: "<h5 mat-dialog-title class=\"mat-dialog-title\">Organize</h5>\n<button matButton (click)=\"onClickNewCategory()\">+ Add new Category</button>\n\n<mat-dialog-content>\n @if (!isLoading) {\n <div class=\"content\" cdkDropList [cdkDropListData]=\"categories\" (cdkDropListDropped)=\"drop($event, true)\">\n @for (category of categories; track category.id) {\n <div class=\"example-container\" cdkDrag>\n <button cdkDragHandle>+-</button>\n <h2>{{ category.title }}</h2>\n <div\n cdkDropList\n id=\"{{ 'drop-category-' + category.id }}\"\n [cdkDropListData]=\"category.items\"\n [cdkDropListConnectedTo]=\"dropListIds\"\n (cdkDropListDropped)=\"drop($event, false)\">\n @for (item of category.items; track item.id ?? item) {\n <div class=\"example-box\" cdkDrag>\n <button cdkDragHandle>+</button>\n {{ item.title }}\n </div>\n }\n </div>\n </div>\n }\n </div>\n }\n</mat-dialog-content>\n\n<div class=\"mat-dialog-actions\" mat-dialog-actions>\n @if (!isSending) {\n <button mat-stroked-button mat-dialog-close>Cancel</button>\n <button mat-raised-button color=\"primary\" (click)=\"onClickSave()\">Save</button>\n }\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: DragDropModule }, { kind: "directive", type: i5.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer", "cdkDropListHasAnchor"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i5.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i5.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }] });
111
117
  }
112
118
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: OrganizeCategoryModalComponent, decorators: [{
@@ -115,7 +121,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
115
121
  }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: MiaOrganizeCategoryModalConfig, decorators: [{
116
122
  type: Inject,
117
123
  args: [MAT_DIALOG_DATA]
118
- }] }, { type: i2.MiaCategoryService }, { type: MiaCategoryModalService }] });
124
+ }] }, { type: i2.MiaCategoryService }, { type: MiaCategoryModalService }, { type: i0.ChangeDetectorRef }] });
119
125
 
120
126
  class MiaCategoryModalService {
121
127
  categoryService;
@@ -125,19 +131,17 @@ class MiaCategoryModalService {
125
131
  this.dialog = dialog;
126
132
  }
127
133
  open(category) {
128
- // Delay mia-form resolution to runtime to avoid hard type coupling during library compilation.
129
- const miaFormLib = require('@doroteati/mia-form');
130
- let data = new miaFormLib.MiaFormModalConfig();
134
+ let data = new MiaFormModalConfig();
131
135
  data.item = category;
132
136
  data.service = this.categoryService;
133
137
  data.titleNew = 'New Category';
134
138
  data.titleEdit = 'Edit Category';
135
- let config = new miaFormLib.MiaFormConfig();
139
+ let config = new MiaFormConfig();
136
140
  config.hasSubmit = false;
137
141
  config.fields = [
138
142
  {
139
143
  key: 'title',
140
- type: miaFormLib.MiaField.TYPE_STRING,
144
+ type: MiaField.TYPE_STRING,
141
145
  label: 'Name Category',
142
146
  },
143
147
  ];
@@ -146,7 +150,7 @@ class MiaCategoryModalService {
146
150
  ];
147
151
  data.config = config;
148
152
  return this.dialog
149
- .open(miaFormLib.MiaFormModalComponent, {
153
+ .open(MiaFormModalComponent, {
150
154
  width: '520px',
151
155
  panelClass: 'modal-full-width-mobile',
152
156
  data: data,
@@ -180,19 +184,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
180
184
  }]
181
185
  }], ctorParameters: () => [{ type: i2.MiaCategoryService }, { type: i1.MatDialog }] });
182
186
 
183
- class MiaCategoryEditorModule {
184
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: MiaCategoryEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
185
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: MiaCategoryEditorModule, imports: [OrganizeCategoryModalComponent], exports: [OrganizeCategoryModalComponent] });
186
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: MiaCategoryEditorModule, imports: [OrganizeCategoryModalComponent] });
187
- }
188
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: MiaCategoryEditorModule, decorators: [{
189
- type: NgModule,
190
- args: [{
191
- imports: [OrganizeCategoryModalComponent],
192
- exports: [OrganizeCategoryModalComponent],
193
- }]
194
- }] });
195
-
196
187
  /*
197
188
  * Public API Surface of mia-category-editor
198
189
  */
@@ -204,5 +195,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
204
195
  * Generated bundle index. Do not edit.
205
196
  */
206
197
 
207
- export { MiaCategoryEditorModule, MiaCategoryModalService, MiaOrganizeCategoryModalConfig, MiaOrganizeCategoryModalInteraction, OrganizeCategoryModalComponent };
198
+ export { MiaCategoryModalService, MiaOrganizeCategoryModalConfig, MiaOrganizeCategoryModalInteraction, OrganizeCategoryModalComponent };
208
199
  //# sourceMappingURL=doroteati-mia-category-editor.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"doroteati-mia-category-editor.mjs","sources":["../../../../projects/doroteati/mia-category-editor/src/lib/modals/organize-category-modal/organize-category-modal.component.ts","../../../../projects/doroteati/mia-category-editor/src/lib/modals/organize-category-modal/organize-category-modal.component.html","../../../../projects/doroteati/mia-category-editor/src/lib/modals/mia-category.modal.service.ts","../../../../projects/doroteati/mia-category-editor/src/lib/mia-category-editor.module.ts","../../../../projects/doroteati/mia-category-editor/src/public-api.ts","../../../../projects/doroteati/mia-category-editor/src/doroteati-mia-category-editor.ts"],"sourcesContent":["import { MiaQuery } from '@doroteati/mia-core';\nimport { Component, Inject, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Observable, Subject } from 'rxjs';\nimport { map, tap } from 'rxjs/operators';\nimport {\n DragDropModule,\n CdkDragDrop,\n moveItemInArray,\n transferArrayItem,\n} from '@angular/cdk/drag-drop';\nimport { MiaCategoryModalService } from '../mia-category.modal.service';\nimport { MiaCategory, MiaCategoryService } from '@doroteati/mia-category-core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatButtonModule } from '@angular/material/button';\n\r\nexport class MiaOrganizeCategoryModalConfig {\r\n hasNewCategory?: boolean = true;\r\n idCategoryDefault?: number;\r\n hasEditCategory?: boolean = true;\r\n hasRemoveCategory?: boolean = true;\r\n fieldCategoryId?: string = 'category_id';\r\n fieldTitleItem?: string = 'title';\r\n}\r\n\r\nexport class MiaOrganizeCategoryModalInteraction {\r\n action: string = '';\r\n item: any;\r\n extras?: any;\r\n}\r\n\r\n@Component({\n selector: 'mia-organize-category-modal',\n templateUrl: './organize-category-modal.component.html',\n styleUrls: ['./organize-category-modal.component.css'],\n standalone: true,\n imports: [CommonModule, MatDialogModule, MatButtonModule, DragDropModule],\n})\nexport class OrganizeCategoryModalComponent implements OnInit {\n categories = new Array<MiaCategory | any>();\r\n items = new Array<any>();\r\n isSending = false;\r\n isLoading = true;\r\n\r\n dropListIds = new Array<string>();\r\n\r\n actions = new Subject<MiaOrganizeCategoryModalInteraction>();\r\n\r\n constructor(\r\n protected dialogRef: MatDialogRef<OrganizeCategoryModalComponent>,\r\n @Inject(MAT_DIALOG_DATA) public config: MiaOrganizeCategoryModalConfig,\r\n protected categoryService: MiaCategoryService,\r\n protected categoryModal: MiaCategoryModalService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.actions.next({ action: 'loaded', item: undefined });\r\n }\r\n\r\n onClickSave() {\r\n this.actions.next({ action: 'saving', item: this.categories });\r\n this.isSending = true;\r\n }\r\n\r\n onClickNewCategory() {\r\n let ob: Observable<MiaCategory>;\r\n if (this.config.idCategoryDefault) {\r\n ob = this.categoryModal.openWithType(\r\n new MiaCategory(),\r\n this.config.idCategoryDefault\r\n );\r\n } else {\r\n ob = this.categoryModal.open(new MiaCategory());\r\n }\r\n\r\n ob.subscribe((cat) => {\r\n if (cat) {\r\n this.categories.push(cat);\r\n }\r\n });\r\n }\r\n\r\n savedSuccess() {\r\n this.isSending = false;\r\n this.dialogRef.close();\r\n }\r\n\r\n savedFail() {\r\n this.isSending = false;\r\n }\r\n\r\n loadItems(items: Array<any>) {\n this.isLoading = true;\n this.dropListIds = new Array<string>();\n\n this.obCategories()\n .pipe(\n tap((res: any) => {\n this.categories = res.data;\n this.categories.forEach((c) =>\n this.dropListIds.push('drop-category-' + c.id)\n );\n })\n )\n .pipe(\n map(() =>\n this.categories.map(\n (c) =>\n (c.items = items.filter(\n (i) => i[this.config.fieldCategoryId!] == c.id\n ))\n )\n )\n )\n .subscribe(() => (this.isLoading = false));\n }\n\r\n obCategories() {\r\n let query = new MiaQuery();\r\n if (this.config.idCategoryDefault) {\r\n query.addWhere('type', this.config.idCategoryDefault);\r\n }\r\n query.itemPerPage = 1000;\r\n return this.categoryService.listOb(query);\r\n }\r\n\r\n drop(event: CdkDragDrop<any[]>, isParent: boolean) {\r\n if (isParent) {\r\n console.log('Parent');\r\n } else {\r\n console.log('Child');\r\n }\r\n if (event.previousContainer === event.container) {\r\n console.log('Dentro del mismo Array');\r\n moveItemInArray(\r\n event.container.data,\r\n event.previousIndex,\r\n event.currentIndex\r\n );\r\n } else {\r\n console.log('Cambio de categoria');\r\n transferArrayItem(\r\n event.previousContainer.data,\r\n event.container.data,\r\n event.previousIndex,\r\n event.currentIndex\r\n );\r\n }\r\n }\r\n}\r\n","<h5 mat-dialog-title class=\"mat-dialog-title\">Organize</h5>\n<button matButton (click)=\"onClickNewCategory()\">+ Add new Category</button>\n\n<mat-dialog-content>\n @if (!isLoading) {\n <div class=\"content\" cdkDropList [cdkDropListData]=\"categories\" (cdkDropListDropped)=\"drop($event, true)\">\n @for (category of categories; track category.id) {\n <div class=\"example-container\" cdkDrag>\n <button cdkDragHandle>+-</button>\n <h2>{{ category.title }}</h2>\n <div\n cdkDropList\n id=\"{{ 'drop-category-' + category.id }}\"\n [cdkDropListData]=\"category.items\"\n [cdkDropListConnectedTo]=\"dropListIds\"\n (cdkDropListDropped)=\"drop($event, false)\">\n @for (item of category.items; track item.id ?? item) {\n <div class=\"example-box\" cdkDrag>\n <button cdkDragHandle>+</button>\n {{ item.title }}\n </div>\n }\n </div>\n </div>\n }\n </div>\n }\n</mat-dialog-content>\n\n<div class=\"mat-dialog-actions\" mat-dialog-actions>\n @if (!isSending) {\n <button mat-stroked-button mat-dialog-close>Cancel</button>\n <button mat-raised-button color=\"primary\" (click)=\"onClickSave()\">Save</button>\n }\n</div>\n","import { Injectable } from '@angular/core';\r\nimport {\n MiaOrganizeCategoryModalConfig,\n OrganizeCategoryModalComponent,\n} from './organize-category-modal/organize-category-modal.component';\nimport { MiaCategory, MiaCategoryService } from '@doroteati/mia-category-core';\nimport { MatDialog } from '@angular/material/dialog';\n\ndeclare const require: (module: string) => any;\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MiaCategoryModalService {\r\n constructor(\r\n protected categoryService: MiaCategoryService,\r\n protected dialog: MatDialog\r\n ) {}\r\n\r\n open(category: MiaCategory) {\n // Delay mia-form resolution to runtime to avoid hard type coupling during library compilation.\n const miaFormLib: any = require('@doroteati/mia-form');\n let data = new miaFormLib.MiaFormModalConfig();\n data.item = category;\n data.service = this.categoryService;\n data.titleNew = 'New Category';\n data.titleEdit = 'Edit Category';\n\n let config = new miaFormLib.MiaFormConfig();\n config.hasSubmit = false;\n config.fields = [\n {\n key: 'title',\n type: miaFormLib.MiaField.TYPE_STRING,\n label: 'Name Category',\n },\n ];\n config.errorMessages = [\n { key: 'required', message: 'The \"%label%\" is required.' },\n ];\n data.config = config;\n return this.dialog\n .open(miaFormLib.MiaFormModalComponent, {\n width: '520px',\n panelClass: 'modal-full-width-mobile',\n data: data,\n })\r\n .afterClosed();\r\n }\r\n\r\n openWithType(category: MiaCategory, type: number) {\r\n category.type = type;\r\n return this.open(category);\r\n }\r\n\r\n openOrganize(typeOfCategory: number): OrganizeCategoryModalComponent {\r\n let config = new MiaOrganizeCategoryModalConfig();\r\n config.idCategoryDefault = typeOfCategory;\r\n return this.openOrganizeWithConfig(config);\r\n }\r\n\r\n openOrganizeWithConfig(\r\n config: MiaOrganizeCategoryModalConfig\r\n ): OrganizeCategoryModalComponent {\r\n let dailogRef = this.dialog.open(OrganizeCategoryModalComponent, {\r\n width: '520px',\r\n panelClass: 'modal-full-width-mobile',\r\n data: config,\r\n });\r\n\r\n return dailogRef.componentInstance;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\n\n// Modals\nimport { OrganizeCategoryModalComponent } from './modals/organize-category-modal/organize-category-modal.component';\n\n@NgModule({\n imports: [OrganizeCategoryModalComponent],\n exports: [OrganizeCategoryModalComponent],\n})\nexport class MiaCategoryEditorModule {}\n","/*\r\n * Public API Surface of mia-category-editor\r\n */\r\n\r\n/**\r\n * Services\r\n */\r\n export * from './lib/modals/mia-category.modal.service';\r\n\r\n /**\r\n * Modals\r\n */\r\n export * from './lib/modals/organize-category-modal/organize-category-modal.component';\r\n\r\n/**\r\n * Module\r\n */\r\nexport * from './lib/mia-category-editor.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i3.MiaCategoryModalService","i1","i2"],"mappings":";;;;;;;;;;;;;;;MAiBa,8BAA8B,CAAA;IACzC,cAAc,GAAa,IAAI;AAC/B,IAAA,iBAAiB;IACjB,eAAe,GAAa,IAAI;IAChC,iBAAiB,GAAa,IAAI;IAClC,eAAe,GAAY,aAAa;IACxC,cAAc,GAAY,OAAO;AAClC;MAEY,mCAAmC,CAAA;IAC9C,MAAM,GAAW,EAAE;AACnB,IAAA,IAAI;AACJ,IAAA,MAAM;AACP;MASY,8BAA8B,CAAA;AAW7B,IAAA,SAAA;AACsB,IAAA,MAAA;AACtB,IAAA,eAAA;AACA,IAAA,aAAA;AAbZ,IAAA,UAAU,GAAG,IAAI,KAAK,EAAqB;AAC3C,IAAA,KAAK,GAAG,IAAI,KAAK,EAAO;IACxB,SAAS,GAAG,KAAK;IACjB,SAAS,GAAG,IAAI;AAEhB,IAAA,WAAW,GAAG,IAAI,KAAK,EAAU;AAEjC,IAAA,OAAO,GAAG,IAAI,OAAO,EAAuC;AAE5D,IAAA,WAAA,CACY,SAAuD,EACjC,MAAsC,EAC5D,eAAmC,EACnC,aAAsC,EAAA;QAHtC,IAAA,CAAA,SAAS,GAAT,SAAS;QACa,IAAA,CAAA,MAAM,GAAN,MAAM;QAC5B,IAAA,CAAA,eAAe,GAAf,eAAe;QACf,IAAA,CAAA,aAAa,GAAb,aAAa;IACtB;IAEH,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC1D;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAC9D,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;IACvB;IAEA,kBAAkB,GAAA;AAChB,QAAA,IAAI,EAA2B;AAC/B,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE;AACjC,YAAA,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAClC,IAAI,WAAW,EAAE,EACjB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAC9B;QACH;aAAO;YACL,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC;QACjD;AAEA,QAAA,EAAE,CAAC,SAAS,CAAC,CAAC,GAAG,KAAI;YACnB,IAAI,GAAG,EAAE;AACP,gBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;YAC3B;AACF,QAAA,CAAC,CAAC;IACJ;IAEA,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACtB,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;IACxB;IAEA,SAAS,GAAA;AACP,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK;IACxB;AAEA,IAAA,SAAS,CAAC,KAAiB,EAAA;AACzB,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;AACrB,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,KAAK,EAAU;QAEtC,IAAI,CAAC,YAAY;AACd,aAAA,IAAI,CACH,GAAG,CAAC,CAAC,GAAQ,KAAI;AACf,YAAA,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,IAAI;YAC1B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,KACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC,CAC/C;AACH,QAAA,CAAC,CAAC;aAEH,IAAI,CACH,GAAG,CAAC,MACF,IAAI,CAAC,UAAU,CAAC,GAAG,CACjB,CAAC,CAAC,MACC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CACrB,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,eAAgB,CAAC,IAAI,CAAC,CAAC,EAAE,CAC/C,CAAC,CACL,CACF;AAEF,aAAA,SAAS,CAAC,OAAO,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC;IAC9C;IAEA,YAAY,GAAA;AACV,QAAA,IAAI,KAAK,GAAG,IAAI,QAAQ,EAAE;AAC1B,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE;YACjC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC;QACvD;AACA,QAAA,KAAK,CAAC,WAAW,GAAG,IAAI;QACxB,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC;IAC3C;IAEA,IAAI,CAAC,KAAyB,EAAE,QAAiB,EAAA;QAC/C,IAAI,QAAQ,EAAE;AACZ,YAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;QACvB;aAAO;AACL,YAAA,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;QACtB;QACA,IAAI,KAAK,CAAC,iBAAiB,KAAK,KAAK,CAAC,SAAS,EAAE;AAC/C,YAAA,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;AACrC,YAAA,eAAe,CACb,KAAK,CAAC,SAAS,CAAC,IAAI,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,YAAY,CACnB;QACH;aAAO;AACL,YAAA,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;YAClC,iBAAiB,CACf,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAC5B,KAAK,CAAC,SAAS,CAAC,IAAI,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,YAAY,CACnB;QACH;IACF;AA9GW,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,8BAA8B,8CAY/B,eAAe,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,uBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAZd,8BAA8B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvC3C,szCAmCA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDEY,YAAY,8BAAE,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,MAAA,EAAA,kBAAA,EAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,8DAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,8DAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,iOAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,WAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,EAAA,iBAAA,EAAA,wBAAA,EAAA,IAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,4BAAA,EAAA,2BAAA,EAAA,0BAAA,EAAA,+BAAA,EAAA,2BAAA,EAAA,6BAAA,EAAA,sBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,oBAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,yBAAA,EAAA,iBAAA,EAAA,0BAAA,EAAA,qBAAA,EAAA,yBAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,uBAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAE7D,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAP1C,SAAS;+BACE,6BAA6B,EAAA,UAAA,EAG3B,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,CAAC,EAAA,QAAA,EAAA,szCAAA,EAAA;;0BActE,MAAM;2BAAC,eAAe;;;MEtCd,uBAAuB,CAAA;AAEtB,IAAA,eAAA;AACA,IAAA,MAAA;IAFZ,WAAA,CACY,eAAmC,EACnC,MAAiB,EAAA;QADjB,IAAA,CAAA,eAAe,GAAf,eAAe;QACf,IAAA,CAAA,MAAM,GAAN,MAAM;IACf;AAEH,IAAA,IAAI,CAAC,QAAqB,EAAA;;AAExB,QAAA,MAAM,UAAU,GAAQ,OAAO,CAAC,qBAAqB,CAAC;AACtD,QAAA,IAAI,IAAI,GAAG,IAAI,UAAU,CAAC,kBAAkB,EAAE;AAC9C,QAAA,IAAI,CAAC,IAAI,GAAG,QAAQ;AACpB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe;AACnC,QAAA,IAAI,CAAC,QAAQ,GAAG,cAAc;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,eAAe;AAEhC,QAAA,IAAI,MAAM,GAAG,IAAI,UAAU,CAAC,aAAa,EAAE;AAC3C,QAAA,MAAM,CAAC,SAAS,GAAG,KAAK;QACxB,MAAM,CAAC,MAAM,GAAG;AACd,YAAA;AACE,gBAAA,GAAG,EAAE,OAAO;AACZ,gBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,WAAW;AACrC,gBAAA,KAAK,EAAE,eAAe;AACvB,aAAA;SACF;QACD,MAAM,CAAC,aAAa,GAAG;AACrB,YAAA,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,4BAA4B,EAAE;SAC3D;AACD,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM;QACpB,OAAO,IAAI,CAAC;AACT,aAAA,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE;AACtC,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,UAAU,EAAE,yBAAyB;AACrC,YAAA,IAAI,EAAE,IAAI;SACX;AACA,aAAA,WAAW,EAAE;IAClB;IAEA,YAAY,CAAC,QAAqB,EAAE,IAAY,EAAA;AAC9C,QAAA,QAAQ,CAAC,IAAI,GAAG,IAAI;AACpB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC5B;AAEA,IAAA,YAAY,CAAC,cAAsB,EAAA;AACjC,QAAA,IAAI,MAAM,GAAG,IAAI,8BAA8B,EAAE;AACjD,QAAA,MAAM,CAAC,iBAAiB,GAAG,cAAc;AACzC,QAAA,OAAO,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC;IAC5C;AAEA,IAAA,sBAAsB,CACpB,MAAsC,EAAA;QAEtC,IAAI,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE;AAC/D,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,UAAU,EAAE,yBAAyB;AACrC,YAAA,IAAI,EAAE,MAAM;AACb,SAAA,CAAC;QAEF,OAAO,SAAS,CAAC,iBAAiB;IACpC;uGA1DW,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,EAAA,CAAA,kBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAvB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,cAFtB,MAAM,EAAA,CAAA;;2FAEP,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCHY,uBAAuB,CAAA;uGAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;wGAAvB,uBAAuB,EAAA,OAAA,EAAA,CAHxB,8BAA8B,CAAA,EAAA,OAAA,EAAA,CAC9B,8BAA8B,CAAA,EAAA,CAAA;AAE7B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,YAHxB,8BAA8B,CAAA,EAAA,CAAA;;2FAG7B,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,8BAA8B,CAAC;oBACzC,OAAO,EAAE,CAAC,8BAA8B,CAAC;AAC1C,iBAAA;;;ACRD;;AAEG;AAEH;;AAEG;;ACNH;;AAEG;;;;"}
1
+ {"version":3,"file":"doroteati-mia-category-editor.mjs","sources":["../../../../projects/doroteati/mia-category-editor/src/lib/modals/organize-category-modal/organize-category-modal.component.ts","../../../../projects/doroteati/mia-category-editor/src/lib/modals/organize-category-modal/organize-category-modal.component.html","../../../../projects/doroteati/mia-category-editor/src/lib/modals/mia-category.modal.service.ts","../../../../projects/doroteati/mia-category-editor/src/public-api.ts","../../../../projects/doroteati/mia-category-editor/src/doroteati-mia-category-editor.ts"],"sourcesContent":["import { MiaQuery } from '@doroteati/mia-core';\r\nimport { ChangeDetectorRef, Component, Inject, OnInit } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { map, tap } from 'rxjs/operators';\r\nimport {\r\n DragDropModule,\r\n CdkDragDrop,\r\n moveItemInArray,\r\n transferArrayItem,\r\n} from '@angular/cdk/drag-drop';\r\nimport { MiaCategoryModalService } from '../mia-category.modal.service';\r\nimport { MiaCategory, MiaCategoryService } from '@doroteati/mia-category-core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatButtonModule } from '@angular/material/button';\r\n\r\nexport class MiaOrganizeCategoryModalConfig {\r\n hasNewCategory?: boolean = true;\r\n idCategoryDefault?: number;\r\n hasEditCategory?: boolean = true;\r\n hasRemoveCategory?: boolean = true;\r\n fieldCategoryId?: string = 'category_id';\r\n fieldTitleItem?: string = 'title';\r\n}\r\n\r\nexport class MiaOrganizeCategoryModalInteraction {\r\n action: string = '';\r\n item: any;\r\n extras?: any;\r\n}\r\n\r\n@Component({\r\n selector: 'mia-organize-category-modal',\r\n templateUrl: './organize-category-modal.component.html',\r\n styleUrls: ['./organize-category-modal.component.css'],\r\n standalone: true,\r\n imports: [CommonModule, MatDialogModule, MatButtonModule, DragDropModule],\r\n})\r\nexport class OrganizeCategoryModalComponent implements OnInit {\r\n categories = new Array<MiaCategory | any>();\r\n items = new Array<any>();\r\n isSending = false;\r\n isLoading = true;\r\n\r\n dropListIds = new Array<string>();\r\n\r\n actions = new Subject<MiaOrganizeCategoryModalInteraction>();\r\n\r\n constructor(\r\n protected dialogRef: MatDialogRef<OrganizeCategoryModalComponent>,\r\n @Inject(MAT_DIALOG_DATA) public config: MiaOrganizeCategoryModalConfig,\r\n protected categoryService: MiaCategoryService,\r\n protected categoryModal: MiaCategoryModalService,\r\n private cdr: ChangeDetectorRef\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.actions.next({ action: 'loaded', item: undefined });\r\n }\r\n\r\n onClickSave() {\r\n this.actions.next({ action: 'saving', item: this.categories });\r\n this.isSending = true;\r\n }\r\n\r\n onClickNewCategory() {\r\n let ob: Observable<MiaCategory>;\r\n if (this.config.idCategoryDefault) {\r\n ob = this.categoryModal.openWithType(\r\n new MiaCategory(),\r\n this.config.idCategoryDefault\r\n );\r\n } else {\r\n ob = this.categoryModal.open(new MiaCategory());\r\n }\r\n\r\n ob.subscribe((cat) => {\r\n if (cat) {\r\n this.categories.push(cat);\r\n }\r\n });\r\n }\r\n\r\n savedSuccess() {\r\n this.isSending = false;\r\n this.dialogRef.close();\r\n }\r\n\r\n savedFail() {\r\n this.isSending = false;\r\n }\r\n\r\n loadItems(items: Array<any>) {\r\n this.isLoading = true;\r\n this.dropListIds = new Array<string>();\r\n\r\n this.obCategories()\r\n .pipe(\r\n tap((res: any) => {\r\n this.categories = res.data;\r\n this.categories.forEach((c) =>\r\n this.dropListIds.push('drop-category-' + c.id)\r\n );\r\n })\r\n )\r\n .pipe(\r\n map(() =>\r\n this.categories.map(\r\n (c) =>\r\n (c.items = items.filter(\r\n (i) => i[this.config.fieldCategoryId!] == c.id\r\n ))\r\n )\r\n )\r\n )\r\n .subscribe(() => {\r\n this.isLoading = false;\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n\r\n obCategories() {\r\n let query = new MiaQuery();\r\n if (this.config.idCategoryDefault) {\r\n query.addWhere('type', this.config.idCategoryDefault);\r\n }\r\n query.itemPerPage = 1000;\r\n return this.categoryService.listOb(query);\r\n }\r\n\r\n drop(event: CdkDragDrop<any[]>, isParent: boolean) {\r\n if (isParent) {\r\n console.log('Parent');\r\n } else {\r\n console.log('Child');\r\n }\r\n if (event.previousContainer === event.container) {\r\n console.log('Dentro del mismo Array');\r\n moveItemInArray(\r\n event.container.data,\r\n event.previousIndex,\r\n event.currentIndex\r\n );\r\n } else {\r\n console.log('Cambio de categoria');\r\n transferArrayItem(\r\n event.previousContainer.data,\r\n event.container.data,\r\n event.previousIndex,\r\n event.currentIndex\r\n );\r\n }\r\n }\r\n}\r\n","<h5 mat-dialog-title class=\"mat-dialog-title\">Organize</h5>\n<button matButton (click)=\"onClickNewCategory()\">+ Add new Category</button>\n\n<mat-dialog-content>\n @if (!isLoading) {\n <div class=\"content\" cdkDropList [cdkDropListData]=\"categories\" (cdkDropListDropped)=\"drop($event, true)\">\n @for (category of categories; track category.id) {\n <div class=\"example-container\" cdkDrag>\n <button cdkDragHandle>+-</button>\n <h2>{{ category.title }}</h2>\n <div\n cdkDropList\n id=\"{{ 'drop-category-' + category.id }}\"\n [cdkDropListData]=\"category.items\"\n [cdkDropListConnectedTo]=\"dropListIds\"\n (cdkDropListDropped)=\"drop($event, false)\">\n @for (item of category.items; track item.id ?? item) {\n <div class=\"example-box\" cdkDrag>\n <button cdkDragHandle>+</button>\n {{ item.title }}\n </div>\n }\n </div>\n </div>\n }\n </div>\n }\n</mat-dialog-content>\n\n<div class=\"mat-dialog-actions\" mat-dialog-actions>\n @if (!isSending) {\n <button mat-stroked-button mat-dialog-close>Cancel</button>\n <button mat-raised-button color=\"primary\" (click)=\"onClickSave()\">Save</button>\n }\n</div>\n","import { Injectable } from '@angular/core';\r\nimport {\r\n MiaOrganizeCategoryModalConfig,\r\n OrganizeCategoryModalComponent,\r\n} from './organize-category-modal/organize-category-modal.component';\r\nimport { MiaCategory, MiaCategoryService } from '@doroteati/mia-category-core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport {\r\n MiaFormModalConfig,\r\n MiaFormConfig,\r\n MiaField,\r\n MiaFormModalComponent,\r\n} from '@doroteati/mia-form';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MiaCategoryModalService {\r\n constructor(\r\n protected categoryService: MiaCategoryService,\r\n protected dialog: MatDialog\r\n ) {}\r\n\r\n open(category: MiaCategory) {\r\n let data = new MiaFormModalConfig();\r\n data.item = category;\r\n data.service = this.categoryService;\r\n data.titleNew = 'New Category';\r\n data.titleEdit = 'Edit Category';\r\n\r\n let config = new MiaFormConfig();\r\n config.hasSubmit = false;\r\n config.fields = [\r\n {\r\n key: 'title',\r\n type: MiaField.TYPE_STRING,\r\n label: 'Name Category',\r\n },\r\n ];\r\n config.errorMessages = [\r\n { key: 'required', message: 'The \"%label%\" is required.' },\r\n ];\r\n data.config = config;\r\n return this.dialog\r\n .open(MiaFormModalComponent, {\r\n width: '520px',\r\n panelClass: 'modal-full-width-mobile',\r\n data: data,\r\n })\r\n .afterClosed();\r\n }\r\n\r\n openWithType(category: MiaCategory, type: number) {\r\n category.type = type;\r\n return this.open(category);\r\n }\r\n\r\n openOrganize(typeOfCategory: number): OrganizeCategoryModalComponent {\r\n let config = new MiaOrganizeCategoryModalConfig();\r\n config.idCategoryDefault = typeOfCategory;\r\n return this.openOrganizeWithConfig(config);\r\n }\r\n\r\n openOrganizeWithConfig(\r\n config: MiaOrganizeCategoryModalConfig\r\n ): OrganizeCategoryModalComponent {\r\n let dailogRef = this.dialog.open(OrganizeCategoryModalComponent, {\r\n width: '520px',\r\n panelClass: 'modal-full-width-mobile',\r\n data: config,\r\n });\r\n\r\n return dailogRef.componentInstance;\r\n }\r\n}\r\n","/*\r\n * Public API Surface of mia-category-editor\r\n */\r\n\r\n/**\r\n * Services\r\n */\r\nexport * from './lib/modals/mia-category.modal.service';\r\n\r\n/**\r\n * Modals\r\n */\r\nexport * from './lib/modals/organize-category-modal/organize-category-modal.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i3.MiaCategoryModalService","i1","i2"],"mappings":"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"}
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@doroteati/mia-category-editor",
3
- "version": "21.0.1",
3
+ "version": "21.0.2",
4
4
  "peerDependencies": {
5
- "@doroteati/mia-form": "^21.0.2",
5
+ "@doroteati/mia-form": "^21.0.3",
6
6
  "@angular/common": ">=21.0.0",
7
7
  "@angular/core": ">=21.0.0"
8
8
  },
@@ -2,7 +2,7 @@ import * as rxjs from 'rxjs';
2
2
  import { Subject, Observable } from 'rxjs';
3
3
  import * as _doroteati_mia_core from '@doroteati/mia-core';
4
4
  import * as i0 from '@angular/core';
5
- import { OnInit } from '@angular/core';
5
+ import { OnInit, ChangeDetectorRef } from '@angular/core';
6
6
  import { CdkDragDrop } from '@angular/cdk/drag-drop';
7
7
  import { MiaCategoryService, MiaCategory } from '@doroteati/mia-category-core';
8
8
  import { MatDialogRef, MatDialog } from '@angular/material/dialog';
@@ -25,13 +25,14 @@ declare class OrganizeCategoryModalComponent implements OnInit {
25
25
  config: MiaOrganizeCategoryModalConfig;
26
26
  protected categoryService: MiaCategoryService;
27
27
  protected categoryModal: MiaCategoryModalService;
28
+ private cdr;
28
29
  categories: any[];
29
30
  items: any[];
30
31
  isSending: boolean;
31
32
  isLoading: boolean;
32
33
  dropListIds: string[];
33
34
  actions: Subject<MiaOrganizeCategoryModalInteraction>;
34
- constructor(dialogRef: MatDialogRef<OrganizeCategoryModalComponent>, config: MiaOrganizeCategoryModalConfig, categoryService: MiaCategoryService, categoryModal: MiaCategoryModalService);
35
+ constructor(dialogRef: MatDialogRef<OrganizeCategoryModalComponent>, config: MiaOrganizeCategoryModalConfig, categoryService: MiaCategoryService, categoryModal: MiaCategoryModalService, cdr: ChangeDetectorRef);
35
36
  ngOnInit(): void;
36
37
  onClickSave(): void;
37
38
  onClickNewCategory(): void;
@@ -56,10 +57,4 @@ declare class MiaCategoryModalService {
56
57
  static ɵprov: i0.ɵɵInjectableDeclaration<MiaCategoryModalService>;
57
58
  }
58
59
 
59
- declare class MiaCategoryEditorModule {
60
- static ɵfac: i0.ɵɵFactoryDeclaration<MiaCategoryEditorModule, never>;
61
- static ɵmod: i0.ɵɵNgModuleDeclaration<MiaCategoryEditorModule, never, [typeof OrganizeCategoryModalComponent], [typeof OrganizeCategoryModalComponent]>;
62
- static ɵinj: i0.ɵɵInjectorDeclaration<MiaCategoryEditorModule>;
63
- }
64
-
65
- export { MiaCategoryEditorModule, MiaCategoryModalService, MiaOrganizeCategoryModalConfig, MiaOrganizeCategoryModalInteraction, OrganizeCategoryModalComponent };
60
+ export { MiaCategoryModalService, MiaOrganizeCategoryModalConfig, MiaOrganizeCategoryModalInteraction, OrganizeCategoryModalComponent };