@rolatech/angular-property 20.0.0-beta.7 → 20.0.0-beta.9

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.
@@ -6,7 +6,7 @@ import { MatButtonModule } from '@angular/material/button';
6
6
  import * as i1 from '@angular/router';
7
7
  import { RouterModule } from '@angular/router';
8
8
  import { PropertyService } from '@rolatech/angular-services';
9
- import { P as PropertyViewingItemComponent } from './rolatech-angular-property-rolatech-angular-property-D7aFqdWJ.mjs';
9
+ import { P as PropertyViewingItemComponent } from './rolatech-angular-property-rolatech-angular-property-BcHHSS2T.mjs';
10
10
 
11
11
  class PropertyManageViewingsIndexComponent extends BaseComponent {
12
12
  propertyService = inject(PropertyService);
@@ -84,4 +84,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImpor
84
84
  }] });
85
85
 
86
86
  export { PropertyManageViewingsIndexComponent };
87
- //# sourceMappingURL=rolatech-angular-property-property-manage-viewings-index.component-lE78AkGF.mjs.map
87
+ //# sourceMappingURL=rolatech-angular-property-property-manage-viewings-index.component-Ae_OA7vE.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"rolatech-angular-property-property-manage-viewings-index.component-lE78AkGF.mjs","sources":["../tmp-esm2022/lib/pages/property-manage/property-manage-viewings-index/property-manage-viewings-index.component.js"],"sourcesContent":["import { Component, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BaseComponent, EmptyComponent, TabComponent, TabsComponent, ToolbarComponent } from '@rolatech/angular-components';\nimport { MatButtonModule } from '@angular/material/button';\nimport { RouterModule } from '@angular/router';\nimport { PropertyService } from '@rolatech/angular-services';\nimport { PropertyViewingItemComponent } from '../../../components/property-viewing-item/property-viewing-item.component';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/router\";\nexport class PropertyManageViewingsIndexComponent extends BaseComponent {\n propertyService = inject(PropertyService);\n select = 0;\n links = [\n {\n name: 'All',\n icon: 'dashboard',\n },\n {\n name: 'Completed',\n icon: 'category',\n status: 'completed',\n },\n {\n name: 'Cancelled',\n icon: 'category',\n status: 'cancelled',\n },\n ];\n filterOptions = {\n type: '',\n status: '',\n };\n viewings = [];\n ngOnInit() {\n this.route.queryParams.subscribe(({ status }) => {\n this.select = this.links.findIndex((item) => item.status === status);\n if (status) {\n this.filterOptions.status = status.toUpperCase();\n }\n else {\n delete this.filterOptions.status;\n }\n this.findViewings();\n });\n }\n findViewings() {\n const options = {\n sort: 'updatedAt desc',\n };\n const filterString = this.convertFilterOptions(this.filterOptions);\n if (filterString) {\n options['filter'] = filterString;\n }\n this.propertyService.findViewingsByAgent(options).subscribe({\n next: (res) => {\n this.viewings = res.data;\n },\n });\n }\n convertFilterOptions(jsonObj) {\n return Object.entries(jsonObj)\n .filter(([key, value]) => value !== '' && value !== undefined)\n .map(([key, value]) => {\n return `${key}:${value}`;\n })\n .join(',');\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: PropertyManageViewingsIndexComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.3\", type: PropertyManageViewingsIndexComponent, isStandalone: true, selector: \"rolatech-property-manage-viewings-index\", usesInheritance: true, ngImport: i0, template: \"<rolatech-toolbar title=\\\"Viewings\\\">\\n <div class=\\\"flex items-center gap-2\\\"></div>\\n</rolatech-toolbar>\\n<rolatech-tabs [select]=\\\"select\\\">\\n @for (item of links; track item) {\\n @if (item.status) {\\n <rolatech-tab [label]=\\\"item.name\\\" routerLink=\\\"./\\\" [queryParams]=\\\"{ status: item.status }\\\"></rolatech-tab>\\n } @else {\\n <rolatech-tab [label]=\\\"item.name\\\" routerLink=\\\"./\\\"></rolatech-tab>\\n }\\n }\\n</rolatech-tabs>\\n<div>\\n @if (viewings) {\\n @for (item of viewings; track $index) {\\n <rolatech-property-viewing-item [routerLink]=\\\"['./', item.id]\\\" [viewing]=\\\"item\\\"></rolatech-property-viewing-item>\\n }\\n } @else {\\n <rolatech-empty></rolatech-empty>\\n }\\n</div>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"component\", type: ToolbarComponent, selector: \"rolatech-toolbar\", inputs: [\"title\", \"subtitle\", \"back\", \"link\", \"large\", \"divider\"] }, { kind: \"ngmodule\", type: MatButtonModule }, { kind: \"component\", type: TabsComponent, selector: \"rolatech-tabs\", inputs: [\"select\", \"loading\"], outputs: [\"selectChange\"] }, { kind: \"component\", type: TabComponent, selector: \"rolatech-tab\", inputs: [\"label\"] }, { kind: \"ngmodule\", type: RouterModule }, { kind: \"directive\", type: i1.RouterLink, selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"info\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }, { kind: \"component\", type: EmptyComponent, selector: \"rolatech-empty\" }, { kind: \"component\", type: PropertyViewingItemComponent, selector: \"rolatech-property-viewing-item\", inputs: [\"viewing\"] }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: PropertyManageViewingsIndexComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-property-manage-viewings-index', imports: [\n CommonModule,\n ToolbarComponent,\n MatButtonModule,\n TabsComponent,\n TabComponent,\n RouterModule,\n EmptyComponent,\n PropertyViewingItemComponent,\n ], template: \"<rolatech-toolbar title=\\\"Viewings\\\">\\n <div class=\\\"flex items-center gap-2\\\"></div>\\n</rolatech-toolbar>\\n<rolatech-tabs [select]=\\\"select\\\">\\n @for (item of links; track item) {\\n @if (item.status) {\\n <rolatech-tab [label]=\\\"item.name\\\" routerLink=\\\"./\\\" [queryParams]=\\\"{ status: item.status }\\\"></rolatech-tab>\\n } @else {\\n <rolatech-tab [label]=\\\"item.name\\\" routerLink=\\\"./\\\"></rolatech-tab>\\n }\\n }\\n</rolatech-tabs>\\n<div>\\n @if (viewings) {\\n @for (item of viewings; track $index) {\\n <rolatech-property-viewing-item [routerLink]=\\\"['./', item.id]\\\" [viewing]=\\\"item\\\"></rolatech-property-viewing-item>\\n }\\n } @else {\\n <rolatech-empty></rolatech-empty>\\n }\\n</div>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktbWFuYWdlLXZpZXdpbmdzLWluZGV4LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItcHJvcGVydHkvc3JjL2xpYi9wYWdlcy9wcm9wZXJ0eS1tYW5hZ2UvcHJvcGVydHktbWFuYWdlLXZpZXdpbmdzLWluZGV4L3Byb3BlcnR5LW1hbmFnZS12aWV3aW5ncy1pbmRleC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb3BlcnR5L3NyYy9saWIvcGFnZXMvcHJvcGVydHktbWFuYWdlL3Byb3BlcnR5LW1hbmFnZS12aWV3aW5ncy1pbmRleC9wcm9wZXJ0eS1tYW5hZ2Utdmlld2luZ3MtaW5kZXguY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1SCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwyRUFBMkUsQ0FBQzs7O0FBa0J6SCxNQUFNLE9BQU8sb0NBQXFDLFNBQVEsYUFBYTtJQUNyRSxlQUFlLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDWCxLQUFLLEdBQUc7UUFDTjtZQUNFLElBQUksRUFBRSxLQUFLO1lBQ1gsSUFBSSxFQUFFLFdBQVc7U0FDbEI7UUFDRDtZQUNFLElBQUksRUFBRSxXQUFXO1lBQ2pCLElBQUksRUFBRSxVQUFVO1lBQ2hCLE1BQU0sRUFBRSxXQUFXO1NBQ3BCO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsV0FBVztZQUNqQixJQUFJLEVBQUUsVUFBVTtZQUNoQixNQUFNLEVBQUUsV0FBVztTQUNwQjtLQUNGLENBQUM7SUFDRixhQUFhLEdBQVE7UUFDbkIsSUFBSSxFQUFFLEVBQUU7UUFDUixNQUFNLEVBQUUsRUFBRTtLQUNYLENBQUM7SUFDRixRQUFRLEdBQXNCLEVBQUUsQ0FBQztJQUVqQyxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFO1lBQzlDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDLENBQUM7WUFDckUsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDWCxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBSSxNQUFpQixDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQy9ELENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO1lBQ25DLENBQUM7WUFDRCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsWUFBWTtRQUNWLE1BQU0sT0FBTyxHQUFHO1lBQ2QsSUFBSSxFQUFFLGdCQUFnQjtTQUN2QixDQUFDO1FBQ0YsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNuRSxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2pCLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxZQUFZLENBQUM7UUFDbkMsQ0FBQztRQUNELElBQUksQ0FBQyxlQUFlLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzFELElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUM7WUFDM0IsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxvQkFBb0IsQ0FBQyxPQUFPO1FBQzFCLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7YUFDM0IsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxFQUFFLElBQUksS0FBSyxLQUFLLFNBQVMsQ0FBQzthQUM3RCxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO1lBQ3BCLE9BQU8sR0FBRyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDO2FBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2YsQ0FBQzt1R0F6RFUsb0NBQW9DOzJGQUFwQyxvQ0FBb0MsMEhDeEJqRCxpdEJBcUJBLHlERFRJLFlBQVksK0JBQ1osZ0JBQWdCLCtIQUNoQixlQUFlLCtCQUNmLGFBQWEsb0hBQ2IsWUFBWSwyRUFDWixZQUFZLGdSQUNaLGNBQWMsMkRBQ2QsNEJBQTRCOzsyRkFLbkIsb0NBQW9DO2tCQWZoRCxTQUFTOytCQUNFLHlDQUF5QyxXQUMxQzt3QkFDUCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixhQUFhO3dCQUNiLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixjQUFjO3dCQUNkLDRCQUE0QjtxQkFDN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCwgRW1wdHlDb21wb25lbnQsIFRhYkNvbXBvbmVudCwgVGFic0NvbXBvbmVudCwgVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBQcm9wZXJ0eVNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBQcm9wZXJ0eVZpZXdpbmdJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9wcm9wZXJ0eS12aWV3aW5nLWl0ZW0vcHJvcGVydHktdmlld2luZy1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9wZXJ0eVZpZXdpbmcgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtcHJvcGVydHktbWFuYWdlLXZpZXdpbmdzLWluZGV4JyxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUb29sYmFyQ29tcG9uZW50LFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBUYWJzQ29tcG9uZW50LFxuICAgIFRhYkNvbXBvbmVudCxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgRW1wdHlDb21wb25lbnQsXG4gICAgUHJvcGVydHlWaWV3aW5nSXRlbUNvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb3BlcnR5LW1hbmFnZS12aWV3aW5ncy1pbmRleC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9wcm9wZXJ0eS1tYW5hZ2Utdmlld2luZ3MtaW5kZXguY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eU1hbmFnZVZpZXdpbmdzSW5kZXhDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJvcGVydHlTZXJ2aWNlID0gaW5qZWN0KFByb3BlcnR5U2VydmljZSk7XG4gIHNlbGVjdCA9IDA7XG4gIGxpbmtzID0gW1xuICAgIHtcbiAgICAgIG5hbWU6ICdBbGwnLFxuICAgICAgaWNvbjogJ2Rhc2hib2FyZCcsXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiAnQ29tcGxldGVkJyxcbiAgICAgIGljb246ICdjYXRlZ29yeScsXG4gICAgICBzdGF0dXM6ICdjb21wbGV0ZWQnLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ0NhbmNlbGxlZCcsXG4gICAgICBpY29uOiAnY2F0ZWdvcnknLFxuICAgICAgc3RhdHVzOiAnY2FuY2VsbGVkJyxcbiAgICB9LFxuICBdO1xuICBmaWx0ZXJPcHRpb25zOiBhbnkgPSB7XG4gICAgdHlwZTogJycsXG4gICAgc3RhdHVzOiAnJyxcbiAgfTtcbiAgdmlld2luZ3M6IFByb3BlcnR5Vmlld2luZ1tdID0gW107XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5yb3V0ZS5xdWVyeVBhcmFtcy5zdWJzY3JpYmUoKHsgc3RhdHVzIH0pID0+IHtcbiAgICAgIHRoaXMuc2VsZWN0ID0gdGhpcy5saW5rcy5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0uc3RhdHVzID09PSBzdGF0dXMpO1xuICAgICAgaWYgKHN0YXR1cykge1xuICAgICAgICB0aGlzLmZpbHRlck9wdGlvbnMuc3RhdHVzID0gKHN0YXR1cyBhcyBzdHJpbmcpLnRvVXBwZXJDYXNlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkZWxldGUgdGhpcy5maWx0ZXJPcHRpb25zLnN0YXR1cztcbiAgICAgIH1cbiAgICAgIHRoaXMuZmluZFZpZXdpbmdzKCk7XG4gICAgfSk7XG4gIH1cbiAgZmluZFZpZXdpbmdzKCkge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBzb3J0OiAndXBkYXRlZEF0IGRlc2MnLFxuICAgIH07XG4gICAgY29uc3QgZmlsdGVyU3RyaW5nID0gdGhpcy5jb252ZXJ0RmlsdGVyT3B0aW9ucyh0aGlzLmZpbHRlck9wdGlvbnMpO1xuICAgIGlmIChmaWx0ZXJTdHJpbmcpIHtcbiAgICAgIG9wdGlvbnNbJ2ZpbHRlciddID0gZmlsdGVyU3RyaW5nO1xuICAgIH1cbiAgICB0aGlzLnByb3BlcnR5U2VydmljZS5maW5kVmlld2luZ3NCeUFnZW50KG9wdGlvbnMpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy52aWV3aW5ncyA9IHJlcy5kYXRhO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBjb252ZXJ0RmlsdGVyT3B0aW9ucyhqc29uT2JqKSB7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKGpzb25PYmopXG4gICAgICAuZmlsdGVyKChba2V5LCB2YWx1ZV0pID0+IHZhbHVlICE9PSAnJyAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkKVxuICAgICAgLm1hcCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgIHJldHVybiBgJHtrZXl9OiR7dmFsdWV9YDtcbiAgICAgIH0pXG4gICAgICAuam9pbignLCcpO1xuICB9XG59XG4iLCI8cm9sYXRlY2gtdG9vbGJhciB0aXRsZT1cIlZpZXdpbmdzXCI+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPjwvZGl2PlxuPC9yb2xhdGVjaC10b29sYmFyPlxuPHJvbGF0ZWNoLXRhYnMgW3NlbGVjdF09XCJzZWxlY3RcIj5cbiAgQGZvciAoaXRlbSBvZiBsaW5rczsgdHJhY2sgaXRlbSkge1xuICAgIEBpZiAoaXRlbS5zdGF0dXMpIHtcbiAgICAgIDxyb2xhdGVjaC10YWIgW2xhYmVsXT1cIml0ZW0ubmFtZVwiIHJvdXRlckxpbms9XCIuL1wiIFtxdWVyeVBhcmFtc109XCJ7IHN0YXR1czogaXRlbS5zdGF0dXMgfVwiPjwvcm9sYXRlY2gtdGFiPlxuICAgIH0gQGVsc2Uge1xuICAgICAgPHJvbGF0ZWNoLXRhYiBbbGFiZWxdPVwiaXRlbS5uYW1lXCIgcm91dGVyTGluaz1cIi4vXCI+PC9yb2xhdGVjaC10YWI+XG4gICAgfVxuICB9XG48L3JvbGF0ZWNoLXRhYnM+XG48ZGl2PlxuICBAaWYgKHZpZXdpbmdzKSB7XG4gICAgQGZvciAoaXRlbSBvZiB2aWV3aW5nczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICA8cm9sYXRlY2gtcHJvcGVydHktdmlld2luZy1pdGVtIFtyb3V0ZXJMaW5rXT1cIlsnLi8nLCBpdGVtLmlkXVwiIFt2aWV3aW5nXT1cIml0ZW1cIj48L3JvbGF0ZWNoLXByb3BlcnR5LXZpZXdpbmctaXRlbT5cbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIDxyb2xhdGVjaC1lbXB0eT48L3JvbGF0ZWNoLWVtcHR5PlxuICB9XG48L2Rpdj5cbiJdfQ=="],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rolatech-angular-property-property-manage-viewings-index.component-Ae_OA7vE.mjs","sources":["../tmp-esm2022/lib/pages/property-manage/property-manage-viewings-index/property-manage-viewings-index.component.js"],"sourcesContent":["import { Component, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BaseComponent, EmptyComponent, TabComponent, TabsComponent, ToolbarComponent } from '@rolatech/angular-components';\nimport { MatButtonModule } from '@angular/material/button';\nimport { RouterModule } from '@angular/router';\nimport { PropertyService } from '@rolatech/angular-services';\nimport { PropertyViewingItemComponent } from '../../../components/property-viewing-item/property-viewing-item.component';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/router\";\nexport class PropertyManageViewingsIndexComponent extends BaseComponent {\n propertyService = inject(PropertyService);\n select = 0;\n links = [\n {\n name: 'All',\n icon: 'dashboard',\n },\n {\n name: 'Completed',\n icon: 'category',\n status: 'completed',\n },\n {\n name: 'Cancelled',\n icon: 'category',\n status: 'cancelled',\n },\n ];\n filterOptions = {\n type: '',\n status: '',\n };\n viewings = [];\n ngOnInit() {\n this.route.queryParams.subscribe(({ status }) => {\n this.select = this.links.findIndex((item) => item.status === status);\n if (status) {\n this.filterOptions.status = status.toUpperCase();\n }\n else {\n delete this.filterOptions.status;\n }\n this.findViewings();\n });\n }\n findViewings() {\n const options = {\n sort: 'updatedAt desc',\n };\n const filterString = this.convertFilterOptions(this.filterOptions);\n if (filterString) {\n options['filter'] = filterString;\n }\n this.propertyService.findViewingsByAgent(options).subscribe({\n next: (res) => {\n this.viewings = res.data;\n },\n });\n }\n convertFilterOptions(jsonObj) {\n return Object.entries(jsonObj)\n .filter(([key, value]) => value !== '' && value !== undefined)\n .map(([key, value]) => {\n return `${key}:${value}`;\n })\n .join(',');\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: PropertyManageViewingsIndexComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.3\", type: PropertyManageViewingsIndexComponent, isStandalone: true, selector: \"rolatech-property-manage-viewings-index\", usesInheritance: true, ngImport: i0, template: \"<rolatech-toolbar title=\\\"Viewings\\\">\\n <div class=\\\"flex items-center gap-2\\\"></div>\\n</rolatech-toolbar>\\n<rolatech-tabs [select]=\\\"select\\\">\\n @for (item of links; track item) {\\n @if (item.status) {\\n <rolatech-tab [label]=\\\"item.name\\\" routerLink=\\\"./\\\" [queryParams]=\\\"{ status: item.status }\\\"></rolatech-tab>\\n } @else {\\n <rolatech-tab [label]=\\\"item.name\\\" routerLink=\\\"./\\\"></rolatech-tab>\\n }\\n }\\n</rolatech-tabs>\\n<div>\\n @if (viewings) {\\n @for (item of viewings; track $index) {\\n <rolatech-property-viewing-item [routerLink]=\\\"['./', item.id]\\\" [viewing]=\\\"item\\\"></rolatech-property-viewing-item>\\n }\\n } @else {\\n <rolatech-empty></rolatech-empty>\\n }\\n</div>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"component\", type: ToolbarComponent, selector: \"rolatech-toolbar\", inputs: [\"title\", \"subtitle\", \"back\", \"link\", \"large\", \"divider\"] }, { kind: \"ngmodule\", type: MatButtonModule }, { kind: \"component\", type: TabsComponent, selector: \"rolatech-tabs\", inputs: [\"select\", \"loading\"], outputs: [\"selectChange\"] }, { kind: \"component\", type: TabComponent, selector: \"rolatech-tab\", inputs: [\"label\"] }, { kind: \"ngmodule\", type: RouterModule }, { kind: \"directive\", type: i1.RouterLink, selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"info\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }, { kind: \"component\", type: EmptyComponent, selector: \"rolatech-empty\" }, { kind: \"component\", type: PropertyViewingItemComponent, selector: \"rolatech-property-viewing-item\", inputs: [\"viewing\"] }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: PropertyManageViewingsIndexComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-property-manage-viewings-index', imports: [\n CommonModule,\n ToolbarComponent,\n MatButtonModule,\n TabsComponent,\n TabComponent,\n RouterModule,\n EmptyComponent,\n PropertyViewingItemComponent,\n ], template: \"<rolatech-toolbar title=\\\"Viewings\\\">\\n <div class=\\\"flex items-center gap-2\\\"></div>\\n</rolatech-toolbar>\\n<rolatech-tabs [select]=\\\"select\\\">\\n @for (item of links; track item) {\\n @if (item.status) {\\n <rolatech-tab [label]=\\\"item.name\\\" routerLink=\\\"./\\\" [queryParams]=\\\"{ status: item.status }\\\"></rolatech-tab>\\n } @else {\\n <rolatech-tab [label]=\\\"item.name\\\" routerLink=\\\"./\\\"></rolatech-tab>\\n }\\n }\\n</rolatech-tabs>\\n<div>\\n @if (viewings) {\\n @for (item of viewings; track $index) {\\n <rolatech-property-viewing-item [routerLink]=\\\"['./', item.id]\\\" [viewing]=\\\"item\\\"></rolatech-property-viewing-item>\\n }\\n } @else {\\n <rolatech-empty></rolatech-empty>\\n }\\n</div>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktbWFuYWdlLXZpZXdpbmdzLWluZGV4LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItcHJvcGVydHkvc3JjL2xpYi9wYWdlcy9wcm9wZXJ0eS1tYW5hZ2UvcHJvcGVydHktbWFuYWdlLXZpZXdpbmdzLWluZGV4L3Byb3BlcnR5LW1hbmFnZS12aWV3aW5ncy1pbmRleC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb3BlcnR5L3NyYy9saWIvcGFnZXMvcHJvcGVydHktbWFuYWdlL3Byb3BlcnR5LW1hbmFnZS12aWV3aW5ncy1pbmRleC9wcm9wZXJ0eS1tYW5hZ2Utdmlld2luZ3MtaW5kZXguY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1SCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwyRUFBMkUsQ0FBQzs7O0FBa0J6SCxNQUFNLE9BQU8sb0NBQXFDLFNBQVEsYUFBYTtJQUNyRSxlQUFlLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDWCxLQUFLLEdBQUc7UUFDTjtZQUNFLElBQUksRUFBRSxLQUFLO1lBQ1gsSUFBSSxFQUFFLFdBQVc7U0FDbEI7UUFDRDtZQUNFLElBQUksRUFBRSxXQUFXO1lBQ2pCLElBQUksRUFBRSxVQUFVO1lBQ2hCLE1BQU0sRUFBRSxXQUFXO1NBQ3BCO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsV0FBVztZQUNqQixJQUFJLEVBQUUsVUFBVTtZQUNoQixNQUFNLEVBQUUsV0FBVztTQUNwQjtLQUNGLENBQUM7SUFDRixhQUFhLEdBQVE7UUFDbkIsSUFBSSxFQUFFLEVBQUU7UUFDUixNQUFNLEVBQUUsRUFBRTtLQUNYLENBQUM7SUFDRixRQUFRLEdBQXNCLEVBQUUsQ0FBQztJQUVqQyxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFO1lBQzlDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDLENBQUM7WUFDckUsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDWCxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBSSxNQUFpQixDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQy9ELENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO1lBQ25DLENBQUM7WUFDRCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsWUFBWTtRQUNWLE1BQU0sT0FBTyxHQUFHO1lBQ2QsSUFBSSxFQUFFLGdCQUFnQjtTQUN2QixDQUFDO1FBQ0YsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNuRSxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2pCLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxZQUFZLENBQUM7UUFDbkMsQ0FBQztRQUNELElBQUksQ0FBQyxlQUFlLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzFELElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUM7WUFDM0IsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxvQkFBb0IsQ0FBQyxPQUFPO1FBQzFCLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7YUFDM0IsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxFQUFFLElBQUksS0FBSyxLQUFLLFNBQVMsQ0FBQzthQUM3RCxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO1lBQ3BCLE9BQU8sR0FBRyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDO2FBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2YsQ0FBQzt1R0F6RFUsb0NBQW9DOzJGQUFwQyxvQ0FBb0MsMEhDeEJqRCxpdEJBcUJBLHlERFRJLFlBQVksK0JBQ1osZ0JBQWdCLCtIQUNoQixlQUFlLCtCQUNmLGFBQWEsb0hBQ2IsWUFBWSwyRUFDWixZQUFZLGdSQUNaLGNBQWMsMkRBQ2QsNEJBQTRCOzsyRkFLbkIsb0NBQW9DO2tCQWZoRCxTQUFTOytCQUNFLHlDQUF5QyxXQUMxQzt3QkFDUCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixhQUFhO3dCQUNiLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixjQUFjO3dCQUNkLDRCQUE0QjtxQkFDN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCwgRW1wdHlDb21wb25lbnQsIFRhYkNvbXBvbmVudCwgVGFic0NvbXBvbmVudCwgVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBQcm9wZXJ0eVNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBQcm9wZXJ0eVZpZXdpbmdJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9wcm9wZXJ0eS12aWV3aW5nLWl0ZW0vcHJvcGVydHktdmlld2luZy1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9wZXJ0eVZpZXdpbmcgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtcHJvcGVydHktbWFuYWdlLXZpZXdpbmdzLWluZGV4JyxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUb29sYmFyQ29tcG9uZW50LFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBUYWJzQ29tcG9uZW50LFxuICAgIFRhYkNvbXBvbmVudCxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgRW1wdHlDb21wb25lbnQsXG4gICAgUHJvcGVydHlWaWV3aW5nSXRlbUNvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb3BlcnR5LW1hbmFnZS12aWV3aW5ncy1pbmRleC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9wcm9wZXJ0eS1tYW5hZ2Utdmlld2luZ3MtaW5kZXguY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eU1hbmFnZVZpZXdpbmdzSW5kZXhDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJvcGVydHlTZXJ2aWNlID0gaW5qZWN0KFByb3BlcnR5U2VydmljZSk7XG4gIHNlbGVjdCA9IDA7XG4gIGxpbmtzID0gW1xuICAgIHtcbiAgICAgIG5hbWU6ICdBbGwnLFxuICAgICAgaWNvbjogJ2Rhc2hib2FyZCcsXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiAnQ29tcGxldGVkJyxcbiAgICAgIGljb246ICdjYXRlZ29yeScsXG4gICAgICBzdGF0dXM6ICdjb21wbGV0ZWQnLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ0NhbmNlbGxlZCcsXG4gICAgICBpY29uOiAnY2F0ZWdvcnknLFxuICAgICAgc3RhdHVzOiAnY2FuY2VsbGVkJyxcbiAgICB9LFxuICBdO1xuICBmaWx0ZXJPcHRpb25zOiBhbnkgPSB7XG4gICAgdHlwZTogJycsXG4gICAgc3RhdHVzOiAnJyxcbiAgfTtcbiAgdmlld2luZ3M6IFByb3BlcnR5Vmlld2luZ1tdID0gW107XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5yb3V0ZS5xdWVyeVBhcmFtcy5zdWJzY3JpYmUoKHsgc3RhdHVzIH0pID0+IHtcbiAgICAgIHRoaXMuc2VsZWN0ID0gdGhpcy5saW5rcy5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0uc3RhdHVzID09PSBzdGF0dXMpO1xuICAgICAgaWYgKHN0YXR1cykge1xuICAgICAgICB0aGlzLmZpbHRlck9wdGlvbnMuc3RhdHVzID0gKHN0YXR1cyBhcyBzdHJpbmcpLnRvVXBwZXJDYXNlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkZWxldGUgdGhpcy5maWx0ZXJPcHRpb25zLnN0YXR1cztcbiAgICAgIH1cbiAgICAgIHRoaXMuZmluZFZpZXdpbmdzKCk7XG4gICAgfSk7XG4gIH1cbiAgZmluZFZpZXdpbmdzKCkge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBzb3J0OiAndXBkYXRlZEF0IGRlc2MnLFxuICAgIH07XG4gICAgY29uc3QgZmlsdGVyU3RyaW5nID0gdGhpcy5jb252ZXJ0RmlsdGVyT3B0aW9ucyh0aGlzLmZpbHRlck9wdGlvbnMpO1xuICAgIGlmIChmaWx0ZXJTdHJpbmcpIHtcbiAgICAgIG9wdGlvbnNbJ2ZpbHRlciddID0gZmlsdGVyU3RyaW5nO1xuICAgIH1cbiAgICB0aGlzLnByb3BlcnR5U2VydmljZS5maW5kVmlld2luZ3NCeUFnZW50KG9wdGlvbnMpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy52aWV3aW5ncyA9IHJlcy5kYXRhO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBjb252ZXJ0RmlsdGVyT3B0aW9ucyhqc29uT2JqKSB7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKGpzb25PYmopXG4gICAgICAuZmlsdGVyKChba2V5LCB2YWx1ZV0pID0+IHZhbHVlICE9PSAnJyAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkKVxuICAgICAgLm1hcCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgIHJldHVybiBgJHtrZXl9OiR7dmFsdWV9YDtcbiAgICAgIH0pXG4gICAgICAuam9pbignLCcpO1xuICB9XG59XG4iLCI8cm9sYXRlY2gtdG9vbGJhciB0aXRsZT1cIlZpZXdpbmdzXCI+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPjwvZGl2PlxuPC9yb2xhdGVjaC10b29sYmFyPlxuPHJvbGF0ZWNoLXRhYnMgW3NlbGVjdF09XCJzZWxlY3RcIj5cbiAgQGZvciAoaXRlbSBvZiBsaW5rczsgdHJhY2sgaXRlbSkge1xuICAgIEBpZiAoaXRlbS5zdGF0dXMpIHtcbiAgICAgIDxyb2xhdGVjaC10YWIgW2xhYmVsXT1cIml0ZW0ubmFtZVwiIHJvdXRlckxpbms9XCIuL1wiIFtxdWVyeVBhcmFtc109XCJ7IHN0YXR1czogaXRlbS5zdGF0dXMgfVwiPjwvcm9sYXRlY2gtdGFiPlxuICAgIH0gQGVsc2Uge1xuICAgICAgPHJvbGF0ZWNoLXRhYiBbbGFiZWxdPVwiaXRlbS5uYW1lXCIgcm91dGVyTGluaz1cIi4vXCI+PC9yb2xhdGVjaC10YWI+XG4gICAgfVxuICB9XG48L3JvbGF0ZWNoLXRhYnM+XG48ZGl2PlxuICBAaWYgKHZpZXdpbmdzKSB7XG4gICAgQGZvciAoaXRlbSBvZiB2aWV3aW5nczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICA8cm9sYXRlY2gtcHJvcGVydHktdmlld2luZy1pdGVtIFtyb3V0ZXJMaW5rXT1cIlsnLi8nLCBpdGVtLmlkXVwiIFt2aWV3aW5nXT1cIml0ZW1cIj48L3JvbGF0ZWNoLXByb3BlcnR5LXZpZXdpbmctaXRlbT5cbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIDxyb2xhdGVjaC1lbXB0eT48L3JvbGF0ZWNoLWVtcHR5PlxuICB9XG48L2Rpdj5cbiJdfQ=="],"names":[],"mappings":"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"}
@@ -9,11 +9,11 @@ import { MatSnackBar } from '@angular/material/snack-bar';
9
9
  import { MatTableModule } from '@angular/material/table';
10
10
  import * as i1$1 from '@angular/router';
11
11
  import { RouterLink, RouterModule, Router, ActivatedRoute, RouterLinkActive, RouterOutlet } from '@angular/router';
12
- import { ThumbnailComponent, ImagePlaceholderComponent, ToolbarComponent, SpinnerComponent, ImagePreviewDialogComponent, BaseComponent, AcceptDialogComponent, RejectDialogComponent, RichLabelComponent, AngularComponentsModule, ConfirmationDialogComponent, TabsComponent, TabComponent, EmptyComponent, ContainerComponent, ListComponent, MediaListComponent, MediaListItemComponent } from '@rolatech/angular-components';
13
- import { PropertyService, FeatureService } from '@rolatech/angular-services';
12
+ import { ThumbnailComponent, ImagePlaceholderComponent, ToolbarComponent, SpinnerComponent, ImagePreviewDialogComponent, BaseComponent, AcceptDialogComponent, RejectDialogComponent, RichLabelComponent, AngularComponentsModule, ConfirmationDialogComponent, TabsComponent, TabComponent, EmptyComponent, ContainerComponent, ListComponent, MediaListComponent, MediaListItemComponent, InputComponent } from '@rolatech/angular-components';
13
+ import { PropertyService, FeatureService, DialogService } from '@rolatech/angular-services';
14
14
  import * as i1 from '@angular/common';
15
15
  import { CommonModule, NgClass, isPlatformBrowser, ViewportScroller, KeyValuePipe, Location } from '@angular/common';
16
- import { FixedPipe, AngularCommonModule, OptionsFormatPipe, APP_CONFIG, DecimalDirective } from '@rolatech/angular-common';
16
+ import { FixedPipe, AngularCommonModule, OptionsFormatPipe, APP_CONFIG, DecimalDirective, DurationPipe } from '@rolatech/angular-common';
17
17
  import * as i2 from '@angular/material/icon';
18
18
  import { MatIconModule, MatIcon } from '@angular/material/icon';
19
19
  import { MatDialog } from '@angular/material/dialog';
@@ -65,6 +65,7 @@ var PropertyVideoTourType;
65
65
  PropertyVideoTourType["YOUTUBE"] = "Youtube";
66
66
  PropertyVideoTourType["S3"] = "AWS S3";
67
67
  PropertyVideoTourType["LOCAL"] = "Local server";
68
+ PropertyVideoTourType["COS"] = "COS";
68
69
  })(PropertyVideoTourType || (PropertyVideoTourType = {}));
69
70
  var PropertyStatus;
70
71
  (function (PropertyStatus) {
@@ -3293,6 +3294,111 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImpor
3293
3294
  args: [{ selector: 'rolatech-property-video-tour-add', imports: [CommonModule, MatFormFieldModule, MatInputModule, FormsModule], template: "<mat-form-field appearance=\"fill\">\n <mat-label>Youtube Video URL</mat-label>\n <input matInput placeholder=\"Youtube Video URL\" type=\"text\" [(ngModel)]=\"videoUrl\" i18n />\n</mat-form-field>\n", styles: ["mat-form-field{width:100%}\n"] }]
3294
3295
  }] });
3295
3296
 
3297
+ class PropertyVideoTourDialog {
3298
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: PropertyVideoTourDialog, deps: [], target: i0.ɵɵFactoryTarget.Component });
3299
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.3", type: PropertyVideoTourDialog, isStandalone: true, selector: "rolatech-property-video-tour-dialog", ngImport: i0, template: "<p>property-video-tour-dialog works!</p>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
3300
+ }
3301
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: PropertyVideoTourDialog, decorators: [{
3302
+ type: Component,
3303
+ args: [{ selector: 'rolatech-property-video-tour-dialog', imports: [CommonModule], template: "<p>property-video-tour-dialog works!</p>\n" }]
3304
+ }] });
3305
+
3306
+ class PropertyVideoTourItem {
3307
+ platformId = inject(PLATFORM_ID);
3308
+ el = inject(ElementRef);
3309
+ dialogService = inject(DialogService);
3310
+ myVideo = viewChild('video');
3311
+ progress = input(0);
3312
+ property = input.required();
3313
+ actions = input(true);
3314
+ hasUnsaved = input(false);
3315
+ editId = model();
3316
+ save = output();
3317
+ cancel = output();
3318
+ delete = output();
3319
+ edit = output();
3320
+ mediaEdit = output();
3321
+ thumbnailUpload = output();
3322
+ upload = output();
3323
+ deleteMedia = output();
3324
+ editing = false;
3325
+ onSave(property) {
3326
+ this.editing = false;
3327
+ this.editId.set(null);
3328
+ this.save.emit(property);
3329
+ }
3330
+ onCancel(property) {
3331
+ this.editing = false;
3332
+ this.editId.set(null);
3333
+ this.cancel.emit(property);
3334
+ }
3335
+ onDelete(property) {
3336
+ this.delete.emit(property);
3337
+ }
3338
+ onEdit(property) {
3339
+ this.editId.set(property.id);
3340
+ this.editing = true;
3341
+ this.edit.emit(property);
3342
+ }
3343
+ onMediaEdit(property) {
3344
+ this.editId.set(property.id);
3345
+ this.editing = true;
3346
+ // this.mediaEdit.emit(property);
3347
+ const options = {
3348
+ title: '编辑视频',
3349
+ cancelText: 'Cancel',
3350
+ confirmText: '确定',
3351
+ data: this.property(),
3352
+ width: '80vw',
3353
+ maxWidth: '80vw',
3354
+ height: '100%',
3355
+ component: PropertyVideoTourDialog,
3356
+ };
3357
+ this.dialogService.open(options);
3358
+ this.dialogService.confirmed().subscribe({
3359
+ next: (res) => {
3360
+ if (res) {
3361
+ const data = {
3362
+ name: res,
3363
+ };
3364
+ }
3365
+ },
3366
+ });
3367
+ }
3368
+ onVideoThumbnailUpload(video) {
3369
+ this.thumbnailUpload.emit(video);
3370
+ }
3371
+ onUpload(id, data) {
3372
+ this.property().videoTour.uploading = true;
3373
+ this.upload.emit({ id, data });
3374
+ }
3375
+ onDeleteMedia(data) {
3376
+ this.deleteMedia.emit(data);
3377
+ }
3378
+ onLoadedMetadata(event) {
3379
+ if (this.property().videoTour.duration) {
3380
+ return;
3381
+ }
3382
+ const videoElement = event.target;
3383
+ this.property().videoTour.duration = videoElement.duration;
3384
+ }
3385
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: PropertyVideoTourItem, deps: [], target: i0.ɵɵFactoryTarget.Component });
3386
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.3", type: PropertyVideoTourItem, isStandalone: true, selector: "rolatech-property-video-tour-item", inputs: { progress: { classPropertyName: "progress", publicName: "progress", isSignal: true, isRequired: false, transformFunction: null }, property: { classPropertyName: "property", publicName: "property", isSignal: true, isRequired: true, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, hasUnsaved: { classPropertyName: "hasUnsaved", publicName: "hasUnsaved", isSignal: true, isRequired: false, transformFunction: null }, editId: { classPropertyName: "editId", publicName: "editId", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { editId: "editIdChange", save: "save", cancel: "cancel", delete: "delete", edit: "edit", mediaEdit: "mediaEdit", thumbnailUpload: "thumbnailUpload", upload: "upload", deleteMedia: "deleteMedia" }, viewQueries: [{ propertyName: "myVideo", first: true, predicate: ["video"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"flex flex-col grow p-2\">\n @if (property().id !== editId()) {\n <div class=\"w-full flex gap-3 p-3 items-center\">\n <span>{{ property().title }}</span>\n <button mat-icon-button (click)=\"onEdit(property()); $event.stopPropagation()\" class=\"max-w-8 max-h-8 !p-1\">\n <mat-icon>edit</mat-icon>\n </button>\n <button mat-icon-button (click)=\"onDelete(property()); $event.stopPropagation()\" class=\"max-w-8 max-h-8 !p-1\">\n <mat-icon>delete</mat-icon>\n </button>\n </div>\n } @else {\n <div class=\"flex flex-col justify-between items-center\">\n <rolatech-input [(title)]=\"property().title\" placeholder=\"Title\"></rolatech-input>\n <div class=\"w-full flex flex-row justify-end p-3 gap-3\">\n <button mat-button class=\"max-h-8\" (click)=\"onCancel(property())\" i18n>Cancel</button>\n <button mat-flat-button class=\"max-h-8\" (click)=\"onSave(property())\" i18n>Save</button>\n </div>\n </div>\n }\n\n <div>\n @if (property().videoTour) {\n <div class=\"flex flex-row p-2 gap-3\">\n <div class=\"bg-black h-fit\">\n <video\n id=\"video\"\n #video\n [src]=\"property().videoTour.url\"\n class=\"w-32 aspect-video\"\n (loadedmetadata)=\"onLoadedMetadata($event)\"\n [poster]=\"property().videoTour.thumbnail\"\n ></video>\n </div>\n <div class=\"flex flex-col justify-between w-full\">\n <div class=\"flex justify-between items-center w-full\">\n <div class=\"flex justify-between items-center w-full px-2\">\n <span i18n>Video</span>\n </div>\n @if (property().videoTour.uploading) {\n <div>\n <span> {{ property().videoTour.progress }}%</span>\n </div>\n }\n </div>\n <div class=\"flex justify-between items-center\">\n <div>\n <button mat-button class=\"max-h-8\" (click)=\"onMediaEdit(property().videoTour); $event.stopPropagation()\">\n <mat-icon>edit</mat-icon>\n <span i18n>Edit</span>\n </button>\n <button mat-button class=\"max-h-8\" (click)=\"onDeleteMedia(property().videoTour); $event.stopPropagation()\">\n <mat-icon>delete</mat-icon>\n <span i18n>Delete</span>\n </button>\n </div>\n <div>\n <span>{{ property().videoTour.duration | duration }}</span>\n </div>\n </div>\n </div>\n </div>\n @if (property().videoTour.uploading) {\n <div class=\"p-2\">\n <mat-progress-bar mode=\"determinate\" [value]=\"property().videoTour.progress\"> </mat-progress-bar>\n </div>\n } } @else { @if (property().id !== editId()) {\n <div class=\"px-3\">\n <input\n class=\"ud-sr-only\"\n type=\"file\"\n accept=\".avi,.mpg,.mpeg,.flv,.mov,.m2v,.m4v,.mp4,.rm,.ram,.vob,.ogv,.webm,.wmv\"\n (change)=\"onUpload(property().id, $event)\"\n #fileInput\n />\n <div class=\"flex justify-between items-center\">\n <div i18n>No videos</div>\n <button mat-flat-button class=\"max-h-8\" (click)=\"fileInput.click()\" i18n>Upload</button>\n </div>\n </div>\n } }\n </div>\n @if (!hasUnsaved) {\n <ng-content></ng-content>\n }\n</div>\n", styles: [".ud-sr-only{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: AngularCommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$4.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: "component", type: i1$4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: i8$1.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "pipe", type: DurationPipe, name: "duration" }, { kind: "component", type: InputComponent, selector: "rolatech-input", inputs: ["title", "placeholder"], outputs: ["titleChange"] }] });
3387
+ }
3388
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: PropertyVideoTourItem, decorators: [{
3389
+ type: Component,
3390
+ args: [{ selector: 'rolatech-property-video-tour-item', imports: [
3391
+ MatIconModule,
3392
+ AngularCommonModule,
3393
+ FormsModule,
3394
+ MatButtonModule,
3395
+ MatDividerModule,
3396
+ AngularComponentsModule,
3397
+ DurationPipe,
3398
+ InputComponent,
3399
+ ], template: "<div class=\"flex flex-col grow p-2\">\n @if (property().id !== editId()) {\n <div class=\"w-full flex gap-3 p-3 items-center\">\n <span>{{ property().title }}</span>\n <button mat-icon-button (click)=\"onEdit(property()); $event.stopPropagation()\" class=\"max-w-8 max-h-8 !p-1\">\n <mat-icon>edit</mat-icon>\n </button>\n <button mat-icon-button (click)=\"onDelete(property()); $event.stopPropagation()\" class=\"max-w-8 max-h-8 !p-1\">\n <mat-icon>delete</mat-icon>\n </button>\n </div>\n } @else {\n <div class=\"flex flex-col justify-between items-center\">\n <rolatech-input [(title)]=\"property().title\" placeholder=\"Title\"></rolatech-input>\n <div class=\"w-full flex flex-row justify-end p-3 gap-3\">\n <button mat-button class=\"max-h-8\" (click)=\"onCancel(property())\" i18n>Cancel</button>\n <button mat-flat-button class=\"max-h-8\" (click)=\"onSave(property())\" i18n>Save</button>\n </div>\n </div>\n }\n\n <div>\n @if (property().videoTour) {\n <div class=\"flex flex-row p-2 gap-3\">\n <div class=\"bg-black h-fit\">\n <video\n id=\"video\"\n #video\n [src]=\"property().videoTour.url\"\n class=\"w-32 aspect-video\"\n (loadedmetadata)=\"onLoadedMetadata($event)\"\n [poster]=\"property().videoTour.thumbnail\"\n ></video>\n </div>\n <div class=\"flex flex-col justify-between w-full\">\n <div class=\"flex justify-between items-center w-full\">\n <div class=\"flex justify-between items-center w-full px-2\">\n <span i18n>Video</span>\n </div>\n @if (property().videoTour.uploading) {\n <div>\n <span> {{ property().videoTour.progress }}%</span>\n </div>\n }\n </div>\n <div class=\"flex justify-between items-center\">\n <div>\n <button mat-button class=\"max-h-8\" (click)=\"onMediaEdit(property().videoTour); $event.stopPropagation()\">\n <mat-icon>edit</mat-icon>\n <span i18n>Edit</span>\n </button>\n <button mat-button class=\"max-h-8\" (click)=\"onDeleteMedia(property().videoTour); $event.stopPropagation()\">\n <mat-icon>delete</mat-icon>\n <span i18n>Delete</span>\n </button>\n </div>\n <div>\n <span>{{ property().videoTour.duration | duration }}</span>\n </div>\n </div>\n </div>\n </div>\n @if (property().videoTour.uploading) {\n <div class=\"p-2\">\n <mat-progress-bar mode=\"determinate\" [value]=\"property().videoTour.progress\"> </mat-progress-bar>\n </div>\n } } @else { @if (property().id !== editId()) {\n <div class=\"px-3\">\n <input\n class=\"ud-sr-only\"\n type=\"file\"\n accept=\".avi,.mpg,.mpeg,.flv,.mov,.m2v,.m4v,.mp4,.rm,.ram,.vob,.ogv,.webm,.wmv\"\n (change)=\"onUpload(property().id, $event)\"\n #fileInput\n />\n <div class=\"flex justify-between items-center\">\n <div i18n>No videos</div>\n <button mat-flat-button class=\"max-h-8\" (click)=\"fileInput.click()\" i18n>Upload</button>\n </div>\n </div>\n } }\n </div>\n @if (!hasUnsaved) {\n <ng-content></ng-content>\n }\n</div>\n", styles: [".ud-sr-only{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}\n"] }]
3400
+ }] });
3401
+
3296
3402
  class PropertyManageVideoTourComponent extends BaseComponent {
3297
3403
  propertyService = inject(PropertyService);
3298
3404
  sanitizer = inject(DomSanitizer);
@@ -3302,6 +3408,7 @@ class PropertyManageVideoTourComponent extends BaseComponent {
3302
3408
  iframeLoaded = false;
3303
3409
  safeURL = this.sanitizer.bypassSecurityTrustResourceUrl('');
3304
3410
  thumbnailUrl;
3411
+ type = PropertyVideoTourType;
3305
3412
  ngOnInit() {
3306
3413
  this.id = this.route.parent?.snapshot.paramMap.get('id');
3307
3414
  this.getVideoTour();
@@ -3310,8 +3417,10 @@ class PropertyManageVideoTourComponent extends BaseComponent {
3310
3417
  this.propertyService.getVideoTour(this.id).subscribe({
3311
3418
  next: (res) => {
3312
3419
  this.propertyVideoTour = res.data;
3313
- this.safeURL = this.sanitizer.bypassSecurityTrustResourceUrl(`https://www.youtube.com/embed/${this.propertyVideoTour.videoId}`);
3314
- this.thumbnailUrl = `https://i.ytimg.com/vi/${this.propertyVideoTour.videoId}/hqdefault.jpg`;
3420
+ // this.safeURL = this.sanitizer.bypassSecurityTrustResourceUrl(
3421
+ // `https://www.youtube.com/embed/${this.propertyVideoTour.videoId}`,
3422
+ // );
3423
+ // this.thumbnailUrl = `https://i.ytimg.com/vi/${this.propertyVideoTour.videoId}/hqdefault.jpg`;
3315
3424
  },
3316
3425
  });
3317
3426
  }
@@ -3376,11 +3485,11 @@ class PropertyManageVideoTourComponent extends BaseComponent {
3376
3485
  });
3377
3486
  }
3378
3487
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: PropertyManageVideoTourComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
3379
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.3", type: PropertyManageVideoTourComponent, isStandalone: true, selector: "rolatech-property-manage-video-tour", usesInheritance: true, ngImport: i0, template: "<rolatech-property-manage-content>\n <rolatech-toolbar title=\"Video tour\" class=\"hidden md:block\" divider> </rolatech-toolbar>\n @if (propertyVideoTour) {\n <!-- <div class=\"relative w-full aspect-video\">\n @if (!iframeVisible) {\n <ng-container>\n <img\n [src]=\"thumbnailUrl\"\n class=\"object-cover w-full h-full\"\n (click)=\"showIframe()\"\n alt=\"YouTube Video Thumbnail\"\n style=\"cursor: pointer\"\n />\n <button\n (click)=\"showIframe()\"\n class=\"absolute inset-0 flex items-center justify-center w-full h-full bg-black/40\"\n style=\"pointer-events: auto\"\n >\n <svg height=\"64\" width=\"64\" viewBox=\"0 0 68 48\">\n <path\n d=\"M66.52,7.13A8,8,0,0,0,60.56,1.19C55.34,0,34,0,34,0S12.66,0,7.44,1.19A8,8,0,0,0,1.48,7.13,84.19,84.19,0,0,0,0,24a84.19,84.19,0,0,0,1.48,16.87A8,8,0,0,0,7.44,46.81C12.66,48,34,48,34,48s21.34,0,26.56-1.19a8,8,0,0,0,6-6A84.19,84.19,0,0,0,68,24,84.19,84.19,0,0,0,66.52,7.13Z\"\n fill=\"#f00\"\n ></path>\n <polygon points=\"45 24 27 14 27 34 45 24\" fill=\"#fff\"></polygon>\n </svg>\n </button>\n </ng-container>\n } @else {\n <ng-container>\n <iframe [src]=\"safeURL\" frameborder=\"0\" allowfullscreen class=\"absolute top-0 left-0 w-full h-full\"></iframe>\n </ng-container>\n }\n </div> -->\n <div class=\"relative w-full aspect-video\">\n @if (!iframeLoaded) {\n <div class=\"absolute inset-0 flex items-center justify-center bg-black/10\">\n <span>Loading...</span>\n </div>\n }\n <iframe [src]=\"safeURL\" frameborder=\"0\" allowfullscreen class=\"w-full h-full\" (load)=\"iframeLoaded = true\"></iframe>\n </div>\n <button mat-flat-button (click)=\"updateVideoTour()\" class=\"mt-3\">Update video tour</button>\n } @else {\n <button mat-flat-button (click)=\"addVideoTour()\">Add video tour</button>\n }\n</rolatech-property-manage-content>\n", styles: [""], dependencies: [{ kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "component", type: PropertyManageContentComponent, selector: "rolatech-property-manage-content" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$4.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"] }] });
3488
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.3", type: PropertyManageVideoTourComponent, isStandalone: true, selector: "rolatech-property-manage-video-tour", usesInheritance: true, ngImport: i0, template: "<rolatech-property-manage-content>\n <rolatech-toolbar title=\"Video tour\" class=\"hidden md:block\" divider> </rolatech-toolbar>\n <!-- <rolatech-property-video-tour-item [property]=\"\"></rolatech-property-video-tour-item> -->\n <div class=\"flex flex-col\">\n <div>\n <div>Youtube</div>\n <div></div>\n </div>\n <div>\n <div>COS</div>\n <div></div>\n </div>\n </div>\n @for (item of propertyVideoTour; track $index) {\n <div>{{ type[item.type] === 'Youtube' }}</div>\n @if (type[item.type] === 'Youtube') {\n <div class=\"relative w-full aspect-video\">\n @if (!iframeLoaded) {\n <div class=\"absolute inset-0 flex items-center justify-center bg-black/10\">\n <span>Loading...</span>\n </div>\n }\n <iframe [src]=\"safeURL\" frameborder=\"0\" allowfullscreen class=\"w-full h-full\" (load)=\"iframeLoaded = true\"></iframe>\n </div>\n <button mat-flat-button (click)=\"updateVideoTour()\" class=\"mt-3\">Update video tour</button>\n }\n @if (type[item.type] === 'COS') {}\n }\n <!-- @if (propertyVideoTour) {\n\n } @else {\n <button mat-flat-button (click)=\"addVideoTour()\">Add video tour</button>\n } -->\n</rolatech-property-manage-content>\n", styles: [""], dependencies: [{ kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "component", type: PropertyManageContentComponent, selector: "rolatech-property-manage-content" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$4.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"] }] });
3380
3489
  }
3381
3490
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: PropertyManageVideoTourComponent, decorators: [{
3382
3491
  type: Component,
3383
- args: [{ selector: 'rolatech-property-manage-video-tour', imports: [ToolbarComponent, PropertyManageContentComponent, MatButtonModule], template: "<rolatech-property-manage-content>\n <rolatech-toolbar title=\"Video tour\" class=\"hidden md:block\" divider> </rolatech-toolbar>\n @if (propertyVideoTour) {\n <!-- <div class=\"relative w-full aspect-video\">\n @if (!iframeVisible) {\n <ng-container>\n <img\n [src]=\"thumbnailUrl\"\n class=\"object-cover w-full h-full\"\n (click)=\"showIframe()\"\n alt=\"YouTube Video Thumbnail\"\n style=\"cursor: pointer\"\n />\n <button\n (click)=\"showIframe()\"\n class=\"absolute inset-0 flex items-center justify-center w-full h-full bg-black/40\"\n style=\"pointer-events: auto\"\n >\n <svg height=\"64\" width=\"64\" viewBox=\"0 0 68 48\">\n <path\n d=\"M66.52,7.13A8,8,0,0,0,60.56,1.19C55.34,0,34,0,34,0S12.66,0,7.44,1.19A8,8,0,0,0,1.48,7.13,84.19,84.19,0,0,0,0,24a84.19,84.19,0,0,0,1.48,16.87A8,8,0,0,0,7.44,46.81C12.66,48,34,48,34,48s21.34,0,26.56-1.19a8,8,0,0,0,6-6A84.19,84.19,0,0,0,68,24,84.19,84.19,0,0,0,66.52,7.13Z\"\n fill=\"#f00\"\n ></path>\n <polygon points=\"45 24 27 14 27 34 45 24\" fill=\"#fff\"></polygon>\n </svg>\n </button>\n </ng-container>\n } @else {\n <ng-container>\n <iframe [src]=\"safeURL\" frameborder=\"0\" allowfullscreen class=\"absolute top-0 left-0 w-full h-full\"></iframe>\n </ng-container>\n }\n </div> -->\n <div class=\"relative w-full aspect-video\">\n @if (!iframeLoaded) {\n <div class=\"absolute inset-0 flex items-center justify-center bg-black/10\">\n <span>Loading...</span>\n </div>\n }\n <iframe [src]=\"safeURL\" frameborder=\"0\" allowfullscreen class=\"w-full h-full\" (load)=\"iframeLoaded = true\"></iframe>\n </div>\n <button mat-flat-button (click)=\"updateVideoTour()\" class=\"mt-3\">Update video tour</button>\n } @else {\n <button mat-flat-button (click)=\"addVideoTour()\">Add video tour</button>\n }\n</rolatech-property-manage-content>\n" }]
3492
+ args: [{ selector: 'rolatech-property-manage-video-tour', imports: [ToolbarComponent, PropertyManageContentComponent, MatButtonModule, PropertyVideoTourItem], template: "<rolatech-property-manage-content>\n <rolatech-toolbar title=\"Video tour\" class=\"hidden md:block\" divider> </rolatech-toolbar>\n <!-- <rolatech-property-video-tour-item [property]=\"\"></rolatech-property-video-tour-item> -->\n <div class=\"flex flex-col\">\n <div>\n <div>Youtube</div>\n <div></div>\n </div>\n <div>\n <div>COS</div>\n <div></div>\n </div>\n </div>\n @for (item of propertyVideoTour; track $index) {\n <div>{{ type[item.type] === 'Youtube' }}</div>\n @if (type[item.type] === 'Youtube') {\n <div class=\"relative w-full aspect-video\">\n @if (!iframeLoaded) {\n <div class=\"absolute inset-0 flex items-center justify-center bg-black/10\">\n <span>Loading...</span>\n </div>\n }\n <iframe [src]=\"safeURL\" frameborder=\"0\" allowfullscreen class=\"w-full h-full\" (load)=\"iframeLoaded = true\"></iframe>\n </div>\n <button mat-flat-button (click)=\"updateVideoTour()\" class=\"mt-3\">Update video tour</button>\n }\n @if (type[item.type] === 'COS') {}\n }\n <!-- @if (propertyVideoTour) {\n\n } @else {\n <button mat-flat-button (click)=\"addVideoTour()\">Add video tour</button>\n } -->\n</rolatech-property-manage-content>\n" }]
3384
3493
  }] });
3385
3494
 
3386
3495
  const propertyManageRoutes = [
@@ -3534,7 +3643,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImpor
3534
3643
  const propertyManageViewingsRoutes = [
3535
3644
  {
3536
3645
  path: '',
3537
- loadComponent: () => import('./rolatech-angular-property-property-manage-viewings-index.component-lE78AkGF.mjs').then((x) => x.PropertyManageViewingsIndexComponent),
3646
+ loadComponent: () => import('./rolatech-angular-property-property-manage-viewings-index.component-Ae_OA7vE.mjs').then((x) => x.PropertyManageViewingsIndexComponent),
3538
3647
  },
3539
3648
  {
3540
3649
  path: ':id',
@@ -4158,4 +4267,4 @@ const tenantManageRoutes = [
4158
4267
  */
4159
4268
 
4160
4269
  export { AdverseCreditStatus as A, EmploymentStatus as E, PropertyViewingItemComponent as P, ResidencyStatus as R, ViewingTime as V, propertyManageOffersRoutes as a, propertyRoutes as b, propertyManageRoutes as c, propertyManageViewingsRoutes as d, PropertyActionsComponent as e, featureManageRoutes as f, PropertyItemComponent as g, PropertyPricingComponent as h, PropertyPriceType as i, PropertyVideoTourType as j, PropertyStatus as k, lettingManageRoutes as l, PropertyType as m, PropertyInventoryStatus as n, PropertyScope as o, propertyReviewRoutes as p, PropertyViewingStatus as q, PropertyViewerCategory as r, PropertyOfferTimelineStatus as s, tenantManageRoutes as t, PropertyOfferType as u, PropertyOfferStatus as v, PropertyApplicantType as w };
4161
- //# sourceMappingURL=rolatech-angular-property-rolatech-angular-property-D7aFqdWJ.mjs.map
4270
+ //# sourceMappingURL=rolatech-angular-property-rolatech-angular-property-BcHHSS2T.mjs.map