@rolatech/angular-property 20.0.0-beta.7 → 20.0.0-beta.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/{rolatech-angular-property-property-manage-viewings-index.component-lE78AkGF.mjs → rolatech-angular-property-property-manage-viewings-index.component-Ae_OA7vE.mjs} +2 -2
- package/fesm2022/{rolatech-angular-property-property-manage-viewings-index.component-lE78AkGF.mjs.map → rolatech-angular-property-property-manage-viewings-index.component-Ae_OA7vE.mjs.map} +1 -1
- package/fesm2022/{rolatech-angular-property-rolatech-angular-property-D7aFqdWJ.mjs → rolatech-angular-property-rolatech-angular-property-BcHHSS2T.mjs} +118 -9
- package/fesm2022/rolatech-angular-property-rolatech-angular-property-BcHHSS2T.mjs.map +1 -0
- package/fesm2022/rolatech-angular-property.mjs +1 -1
- package/index.d.ts +8 -1
- package/package.json +5 -5
- package/themes/_default.scss +1 -1
- package/fesm2022/rolatech-angular-property-rolatech-angular-property-D7aFqdWJ.mjs.map +0 -1
|
@@ -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-
|
|
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-
|
|
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(
|
|
3314
|
-
|
|
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
|
|
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
|
|
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-
|
|
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-
|
|
4270
|
+
//# sourceMappingURL=rolatech-angular-property-rolatech-angular-property-BcHHSS2T.mjs.map
|