@dignite-ng/expand.core 3.0.0-rc.43 → 3.0.0-rc.47
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/esm2022/lib/services/index.mjs +2 -1
- package/esm2022/lib/services/location-back.service.mjs +36 -0
- package/esm2022/lib/services/validators.service.mjs +4 -2
- package/fesm2022/dignite-ng-expand.core.mjs +41 -8
- package/fesm2022/dignite-ng-expand.core.mjs.map +1 -1
- package/lib/services/index.d.ts +1 -0
- package/lib/services/location-back.service.d.ts +16 -0
- package/package.json +1 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export * from './update-list.service';
|
|
2
2
|
export * from './validators.service';
|
|
3
|
-
|
|
3
|
+
export * from './location-back.service';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3VwZGF0ZS1saXN0LnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3ZhbGlkYXRvcnMuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbG9jYXRpb24tYmFjay5zZXJ2aWNlJztcclxuIl19
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Location } from '@angular/common';
|
|
3
|
+
import { Router } from '@angular/router';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
import * as i2 from "@angular/router";
|
|
7
|
+
export class LocationBackService {
|
|
8
|
+
constructor(_location, router) {
|
|
9
|
+
this._location = _location;
|
|
10
|
+
this.router = router;
|
|
11
|
+
}
|
|
12
|
+
backTo(input) {
|
|
13
|
+
const { url, replenish } = input;
|
|
14
|
+
const referrer = document.referrer;
|
|
15
|
+
const targetUrl = url;
|
|
16
|
+
//如果referrer中包含targetUrl,则返回上一页,否则跳转到targetUrl页
|
|
17
|
+
if (referrer && referrer.includes(targetUrl) && !referrer.includes(targetUrl + replenish)) {
|
|
18
|
+
this.back();
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
this.router.navigate([targetUrl]);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
back() {
|
|
25
|
+
this._location.back();
|
|
26
|
+
}
|
|
27
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: LocationBackService, deps: [{ token: i1.Location }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
28
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: LocationBackService, providedIn: 'root' }); }
|
|
29
|
+
}
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: LocationBackService, decorators: [{
|
|
31
|
+
type: Injectable,
|
|
32
|
+
args: [{
|
|
33
|
+
providedIn: 'root',
|
|
34
|
+
}]
|
|
35
|
+
}], ctorParameters: () => [{ type: i1.Location }, { type: i2.Router }] });
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYXRpb24tYmFjay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3NlcnZpY2VzL2xvY2F0aW9uLWJhY2suc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFZekMsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixZQUFtQixTQUFtQixFQUFVLE1BQWM7UUFBM0MsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7SUFBRyxDQUFDO0lBQ2xFLE1BQU0sQ0FBQyxLQUFnQjtRQUNyQixNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEtBQUssQ0FBQztRQUNqQyxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDO1FBQ25DLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQztRQUN0QiwrQ0FBK0M7UUFDL0MsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDMUYsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2QsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDcEMsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDOzhHQWhCVSxtQkFBbUI7a0hBQW5CLG1CQUFtQixjQUZsQixNQUFNOzsyRkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIGJhY2tCYXNlIHtcclxuICAvL+ajgOafpeeahOmTvuaOpe+8jOWmguaenOmTvuaOpeS4reWMheWQq+ivpeWtl+espuS4su+8jOWImei/lOWbnuS4iuS4gOmhte+8jOWQpuWImei3s+i9rOWIsFVybOmhtVxyXG4gIHVybD86IHN0cmluZztcclxuICAvL+mTvuaOpeihpeWFhe+8jOeUqOS6juWcqHVybOWQjumdouihpeWFheWFtuS9memTvuaOpVxyXG4gIHJlcGxlbmlzaD86IHN0cmluZztcclxufVxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIExvY2F0aW9uQmFja1NlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBfbG9jYXRpb246IExvY2F0aW9uLCBwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7fVxyXG4gIGJhY2tUbyhpbnB1dD86IGJhY2tCYXNlKSB7XHJcbiAgICBjb25zdCB7IHVybCwgcmVwbGVuaXNoIH0gPSBpbnB1dDtcclxuICAgIGNvbnN0IHJlZmVycmVyID0gZG9jdW1lbnQucmVmZXJyZXI7XHJcbiAgICBjb25zdCB0YXJnZXRVcmwgPSB1cmw7XHJcbiAgICAvL+WmguaenHJlZmVycmVy5Lit5YyF5ZCrdGFyZ2V0VXJs77yM5YiZ6L+U5Zue5LiK5LiA6aG177yM5ZCm5YiZ6Lez6L2s5YiwdGFyZ2V0VXJs6aG1XHJcbiAgICBpZiAocmVmZXJyZXIgJiYgcmVmZXJyZXIuaW5jbHVkZXModGFyZ2V0VXJsKSAmJiAhcmVmZXJyZXIuaW5jbHVkZXModGFyZ2V0VXJsICsgcmVwbGVuaXNoKSkge1xyXG4gICAgICB0aGlzLmJhY2soKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt0YXJnZXRVcmxdKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGJhY2soKSB7XHJcbiAgICB0aGlzLl9sb2NhdGlvbi5iYWNrKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -16,7 +16,9 @@ export class ValidatorsService {
|
|
|
16
16
|
for (let i = 0; i < keys.length; i++) {
|
|
17
17
|
const element = keys[i];
|
|
18
18
|
if (input[element] === false) {
|
|
19
|
-
|
|
19
|
+
const displayName = element.charAt(0).toUpperCase() + element.slice(1);
|
|
20
|
+
console.log(element, 'element', displayName);
|
|
21
|
+
let info = `"${this._LocalizationService.instant(`${module}::${displayName}`)}" `;
|
|
20
22
|
if (element.includes('.') && !element.includes('].')) {
|
|
21
23
|
const arr = element.split('.');
|
|
22
24
|
info = `"${this._LocalizationService.instant(`${module}::${arr[0]}`)}.${this._LocalizationService.instant(`${module}::${arr[1]}`)}"`;
|
|
@@ -83,4 +85,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImpor
|
|
|
83
85
|
providedIn: 'root',
|
|
84
86
|
}]
|
|
85
87
|
}], ctorParameters: () => [{ type: i1.ToasterService }, { type: i2.LocalizationService }] });
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3NlcnZpY2VzL3ZhbGlkYXRvcnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFjLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFLL0UsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixZQUFvQixPQUF1QixFQUFVLG9CQUF5QztRQUExRSxZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUFVLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBcUI7SUFBRyxDQUFDO0lBRWxHLFdBQVc7SUFDWCxXQUFXLENBQUMsS0FBaUMsRUFBRSxNQUFNLEdBQUcsZUFBZTtRQUNyRSxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDckMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEtBQUssRUFBRSxDQUFDO2dCQUM3QixNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3ZFLE9BQU8sQ0FBQyxHQUFH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QyxZQUFZLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO29CQUNqQyxDQUFDO2dCQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztpQkFBTSxJQUFJLElBQUksWUFBWSxTQUFTLEVBQUUsQ0FBQztnQkFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEVBQUU7b0JBQ3ZDLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxHQUFHLENBQUM7b0JBQzlELElBQUksT0FBTyxZQUFZLFdBQVcsRUFBRSxDQUFDO3dCQUNuQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO29CQUM1QyxDQUFDO3lCQUFNLElBQUksT0FBTyxZQUFZLFNBQVMsRUFBRSxDQUFDO3dCQUN4QyxZQUFZLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO29CQUNqQyxDQUFDO3lCQUFNLElBQUksT0FBTyxZQUFZLFNBQVMsRUFBRSxDQUFDO3dCQUN4QyxZQUFZLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO29CQUNqQyxDQUFDO2dCQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUMsQ0FBQztRQUVGLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUV6QixPQUFPLGdCQUFnQixDQUFDO0lBQzFCLENBQUM7OEdBeEVVLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07OzJGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgVG9hc3RlclNlcnZpY2UgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwLCBGb3JtQXJyYXksIEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFZhbGlkYXRvcnNTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRvYXN0ZXI6IFRvYXN0ZXJTZXJ2aWNlLCBwcml2YXRlIF9Mb2NhbGl6YXRpb25TZXJ2aWNlOiBMb2NhbGl6YXRpb25TZXJ2aWNlKSB7fVxyXG5cclxuICAvKirmo4Dmn6XooajljZUtICovXHJcbiAgaXNDaGVja0Zvcm0oaW5wdXQ6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9LCBtb2R1bGUgPSAnQWJwVmFsaWRhdGlvbicpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhpbnB1dCk7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgY29uc3QgZWxlbWVudCA9IGtleXNbaV07XHJcbiAgICAgIGlmIChpbnB1dFtlbGVtZW50XSA9PT0gZmFsc2UpIHtcclxuICAgICAgICBjb25zdCBkaXNwbGF5TmFtZSA9IGVsZW1lbnQuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBlbGVtZW50LnNsaWNlKDEpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVsZW1lbnQsJ2VsZW1lbnQnLGRpc3BsYXlOYW1lKTtcclxuICAgICAgICBsZXQgaW5mbyA9IGBcIiR7dGhpcy5fTG9jYWxpemF0aW9uU2VydmljZS5pbnN0YW50KGAke21vZHVsZX06OiR7ZGlzcGxheU5hbWV9YCl9XCIgYDtcclxuICAgICAgICBpZiAoZWxlbWVudC5pbmNsdWRlcygnLicpICYmICFlbGVtZW50LmluY2x1ZGVzKCddLicpKSB7XHJcbiAgICAgICAgICBjb25zdCBhcnIgPSBlbGVtZW50LnNwbGl0KCcuJyk7XHJcbiAgICAgICAgICBpbmZvID0gYFwiJHt0aGlzLl9Mb2NhbGl6YXRpb25TZXJ2aWNlLmluc3RhbnQoXHJcbiAgICAgICAgICAgIGAke21vZHVsZX06OiR7YXJyWzBdfWAsXHJcbiAgICAgICAgICApfS4ke3RoaXMuX0xvY2FsaXphdGlvblNlcnZpY2UuaW5zdGFudChgJHttb2R1bGV9Ojoke2FyclsxXX1gKX1cImA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChlbGVtZW50LmluY2x1ZGVzKCddLicpKSB7XHJcbiAgICAgICAgICBjb25zdCBhcnIgPSBlbGVtZW50LnNwbGl0KCddLicpO1xyXG4gICAgICAgICAgY29uc3QgYXJyU3RhcnQgPSBhcnJbMF0uc3BsaXQoJ1snKTtcclxuICAgICAgICAgIGluZm8gPSBgXCIke3RoaXMuX0xvY2FsaXphdGlvblNlcnZpY2UuaW5zdGFudChgJHttb2R1bGV9Ojoke2FyclN0YXJ0WzBdfWApfVske1xyXG4gICAgICAgICAgICBhcnJTdGFydFsxXVxyXG4gICAgICAgICAgfV0uJHt0aGlzLl9Mb2NhbGl6YXRpb25TZXJ2aWNlLmluc3RhbnQoYCR7bW9kdWxlfTo6JHthcnJbMV19YCl9XCJgO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbmZvID0gaW5mbyArIHRoaXMuX0xvY2FsaXphdGlvblNlcnZpY2UuaW5zdGFudChgQWJwVmFsaWRhdGlvbjo6VGhpc0ZpZWxkSXNOb3RWYWxpZC5gKTtcclxuXHJcbiAgICAgICAgLy/kvb/nlKhhYnDlpJror63oqIDmj5DnpLpcclxuICAgICAgICB0aGlzLnRvYXN0ZXIud2FybihpbmZvKTtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgLyoq6I635Y+W6KGo5Y2V5omA5pyJ5a2X5q615piv5ZCm6YCa6L+H6aqM6K+BICovXHJcbiAgZ2V0Rm9ybVZhbGlkYXRpb25TdGF0dXMoZm9ybUVudGl0eTogRm9ybUdyb3VwIHwgRm9ybUFycmF5KTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XHJcbiAgICBjb25zdCB2YWxpZGF0aW9uU3RhdHVzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge307XHJcbiAgICBcclxuICAgIC8vIOmAkuW9kumBjeWOhuihqOWNlee7hOWSjOihqOWNleaOp+S7tumbhuWQiFxyXG4gICAgY29uc3QgdHJhdmVyc2VGb3JtID0gKGZvcm06IEZvcm1Hcm91cCB8IEZvcm1BcnJheSwgcHJlZml4ID0gJycpID0+IHtcclxuICAgICAgaWYgKGZvcm0gaW5zdGFuY2VvZiBGb3JtR3JvdXApIHtcclxuICAgICAgICBPYmplY3Qua2V5cyhmb3JtLmNvbnRyb2xzKS5mb3JFYWNoKGtleSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBjb250cm9sID0gZm9ybS5jb250cm9sc1trZXldO1xyXG4gICAgICAgICAgLy8gY29uc3QgZGlzcGxheU5hbWUgPSBrZXkuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBrZXkuc2xpY2UoMSk7XHJcbiAgICAgICAgICBjb25zdCBkaXNwbGF5TmFtZSA9IGtleTtcclxuICAgICAgICAgIGNvbnN0IGZ1bGxLZXkgPSBwcmVmaXggPyBgJHtwcmVmaXh9LiR7ZGlzcGxheU5hbWV9YCA6IGRpc3BsYXlOYW1lO1xyXG4gICAgICAgICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQ29udHJvbCkge1xyXG4gICAgICAgICAgICB2YWxpZGF0aW9uU3RhdHVzW2Z1bGxLZXldID0gY29udHJvbC52YWxpZDtcclxuICAgICAgICAgIH0gZWxzZSBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEZvcm1BcnJheSkge1xyXG4gICAgICAgICAgICB0cmF2ZXJzZUZvcm0oY29udHJvbCwgZnVsbEtleSk7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtR3JvdXApIHtcclxuICAgICAgICAgICAgdHJhdmVyc2VGb3JtKGNvbnRyb2wsIGZ1bGxLZXkpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKGZvcm0gaW5zdGFuY2VvZiBGb3JtQXJyYXkpIHtcclxuICAgICAgICBmb3JtLmNvbnRyb2xzLmZvckVhY2goKGNvbnRyb2wsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBmdWxsS2V5ID0gcHJlZml4ID8gYCR7cHJlZml4fVske2luZGV4fV1gIDogYFske2luZGV4fV1gO1xyXG4gICAgICAgICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQ29udHJvbCkge1xyXG4gICAgICAgICAgICB2YWxpZGF0aW9uU3RhdHVzW2Z1bGxLZXldID0gY29udHJvbC52YWxpZDtcclxuICAgICAgICAgIH0gZWxzZSBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEZvcm1BcnJheSkge1xyXG4gICAgICAgICAgICB0cmF2ZXJzZUZvcm0oY29udHJvbCwgZnVsbEtleSk7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtR3JvdXApIHtcclxuICAgICAgICAgICAgdHJhdmVyc2VGb3JtKGNvbnRyb2wsIGZ1bGxLZXkpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG5cclxuICAgIHRyYXZlcnNlRm9ybShmb3JtRW50aXR5KTtcclxuXHJcbiAgICByZXR1cm4gdmFsaWRhdGlvblN0YXR1cztcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -6,10 +6,11 @@ import { EnvironmentService, ConfigStateService, CoreModule } from '@abp/ng.core
|
|
|
6
6
|
import * as i1 from '@abp/ng.theme.shared';
|
|
7
7
|
import { ThemeSharedModule } from '@abp/ng.theme.shared';
|
|
8
8
|
import { FormGroup, FormControl, FormArray } from '@angular/forms';
|
|
9
|
-
import
|
|
10
|
-
import * as i2$1 from '@angular/common';
|
|
9
|
+
import * as i1$1 from '@angular/common';
|
|
11
10
|
import { CommonModule } from '@angular/common';
|
|
12
|
-
import * as
|
|
11
|
+
import * as i2$1 from '@angular/router';
|
|
12
|
+
import { PageModule } from '@abp/ng.components/page';
|
|
13
|
+
import * as i1$2 from '@ng-bootstrap/ng-bootstrap';
|
|
13
14
|
|
|
14
15
|
/**
|
|
15
16
|
* 路由复用策略
|
|
@@ -153,7 +154,9 @@ class ValidatorsService {
|
|
|
153
154
|
for (let i = 0; i < keys.length; i++) {
|
|
154
155
|
const element = keys[i];
|
|
155
156
|
if (input[element] === false) {
|
|
156
|
-
|
|
157
|
+
const displayName = element.charAt(0).toUpperCase() + element.slice(1);
|
|
158
|
+
console.log(element, 'element', displayName);
|
|
159
|
+
let info = `"${this._LocalizationService.instant(`${module}::${displayName}`)}" `;
|
|
157
160
|
if (element.includes('.') && !element.includes('].')) {
|
|
158
161
|
const arr = element.split('.');
|
|
159
162
|
info = `"${this._LocalizationService.instant(`${module}::${arr[0]}`)}.${this._LocalizationService.instant(`${module}::${arr[1]}`)}"`;
|
|
@@ -221,6 +224,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImpor
|
|
|
221
224
|
}]
|
|
222
225
|
}], ctorParameters: () => [{ type: i1.ToasterService }, { type: i2.LocalizationService }] });
|
|
223
226
|
|
|
227
|
+
class LocationBackService {
|
|
228
|
+
constructor(_location, router) {
|
|
229
|
+
this._location = _location;
|
|
230
|
+
this.router = router;
|
|
231
|
+
}
|
|
232
|
+
backTo(input) {
|
|
233
|
+
const { url, replenish } = input;
|
|
234
|
+
const referrer = document.referrer;
|
|
235
|
+
const targetUrl = url;
|
|
236
|
+
//如果referrer中包含targetUrl,则返回上一页,否则跳转到targetUrl页
|
|
237
|
+
if (referrer && referrer.includes(targetUrl) && !referrer.includes(targetUrl + replenish)) {
|
|
238
|
+
this.back();
|
|
239
|
+
}
|
|
240
|
+
else {
|
|
241
|
+
this.router.navigate([targetUrl]);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
back() {
|
|
245
|
+
this._location.back();
|
|
246
|
+
}
|
|
247
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: LocationBackService, deps: [{ token: i1$1.Location }, { token: i2$1.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
248
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: LocationBackService, providedIn: 'root' }); }
|
|
249
|
+
}
|
|
250
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: LocationBackService, decorators: [{
|
|
251
|
+
type: Injectable,
|
|
252
|
+
args: [{
|
|
253
|
+
providedIn: 'root',
|
|
254
|
+
}]
|
|
255
|
+
}], ctorParameters: () => [{ type: i1$1.Location }, { type: i2$1.Router }] });
|
|
256
|
+
|
|
224
257
|
/**获取当前窗口域名
|
|
225
258
|
* 需要将environment.ts页面配置
|
|
226
259
|
application: {
|
|
@@ -403,7 +436,7 @@ class ImagePreviewComponent {
|
|
|
403
436
|
return (this.rotate = 0);
|
|
404
437
|
this.rotate += 90;
|
|
405
438
|
}
|
|
406
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: ImagePreviewComponent, deps: [{ token: i1$
|
|
439
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: ImagePreviewComponent, deps: [{ token: i1$2.NgbModal }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
407
440
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: ImagePreviewComponent, isStandalone: true, selector: "app-image-preview", inputs: { src: "src", preview: "preview", width: "width", height: "height", rounded: "rounded", id: "id", bgBlack: "bgBlack" }, outputs: { deleteChange: "deleteChange", checkChange: "checkChange" }, ngImport: i0, template: `
|
|
408
441
|
<div
|
|
409
442
|
[id]="id"
|
|
@@ -480,7 +513,7 @@ class ImagePreviewComponent {
|
|
|
480
513
|
/>
|
|
481
514
|
</div>
|
|
482
515
|
</ng-template>
|
|
483
|
-
`, isInline: true, styles: [".image-preview.imagehove>div{display:none}.image-preview.imagehove:hover div{display:flex;align-items:center;justify-content:center}::ng-deep .dignite-preview .modal-content{background-color:transparent!important}.object-fit-cover{object-fit:cover}\n"], dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type:
|
|
516
|
+
`, isInline: true, styles: [".image-preview.imagehove>div{display:none}.image-preview.imagehove:hover div{display:flex;align-items:center;justify-content:center}::ng-deep .dignite-preview .modal-content{background-color:transparent!important}.object-fit-cover{object-fit:cover}\n"], dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.StopPropagationDirective, selector: "[click.stop]", outputs: ["click.stop"] }, { kind: "ngmodule", type: ThemeSharedModule }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: PageModule }] }); }
|
|
484
517
|
}
|
|
485
518
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: ImagePreviewComponent, decorators: [{
|
|
486
519
|
type: Component,
|
|
@@ -561,7 +594,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImpor
|
|
|
561
594
|
</div>
|
|
562
595
|
</ng-template>
|
|
563
596
|
`, standalone: true, imports: [CoreModule, ThemeSharedModule, CommonModule, PageModule], styles: [".image-preview.imagehove>div{display:none}.image-preview.imagehove:hover div{display:flex;align-items:center;justify-content:center}::ng-deep .dignite-preview .modal-content{background-color:transparent!important}.object-fit-cover{object-fit:cover}\n"] }]
|
|
564
|
-
}], ctorParameters: () => [{ type: i1$
|
|
597
|
+
}], ctorParameters: () => [{ type: i1$2.NgbModal }], propDecorators: { src: [{
|
|
565
598
|
type: Input
|
|
566
599
|
}], preview: [{
|
|
567
600
|
type: Input
|
|
@@ -608,5 +641,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImpor
|
|
|
608
641
|
* Generated bundle index. Do not edit.
|
|
609
642
|
*/
|
|
610
643
|
|
|
611
|
-
export { GetNowDomainPipe, GetTenantImgPipe, ImagePreviewComponent, KeydownPreventDefaultDirective, SimpleReuseStrategy, SlugNormalizerPipe, UpdateListService, ValidatorsService };
|
|
644
|
+
export { GetNowDomainPipe, GetTenantImgPipe, ImagePreviewComponent, KeydownPreventDefaultDirective, LocationBackService, SimpleReuseStrategy, SlugNormalizerPipe, UpdateListService, ValidatorsService };
|
|
612
645
|
//# sourceMappingURL=dignite-ng-expand.core.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dignite-ng-expand.core.mjs","sources":["../../../../packages/core/src/lib/strategies/simple-reuse-strategy.ts","../../../../packages/core/src/lib/services/update-list.service.ts","../../../../packages/core/src/lib/services/validators.service.ts","../../../../packages/core/src/lib/pipes/get-now-domain.pipe.ts","../../../../packages/core/src/lib/pipes/get-tenant-img.pipe.ts","../../../../packages/core/src/lib/pipes/slug-normalizer.pipe.ts","../../../../packages/core/src/lib/expand/image-preview.component.ts","../../../../packages/core/src/lib/directives/keydown-prevent-default.directive.ts","../../../../packages/core/src/public-api.ts","../../../../packages/core/src/dignite-ng-expand.core.ts"],"sourcesContent":["import { RouteReuseStrategy, ActivatedRouteSnapshot, DetachedRouteHandle } from '@angular/router';\r\n/**\r\n * 路由复用策略\r\n * \r\n * 1. 实现shouldReuseRoute方法,判断是否同一路由时复用路由\r\n * 2. 实现retrieve方法,获取存储路由\r\n * 3. 实现shouldDetach方法,判断是否有路由存储\r\n * 4. 实现store方法,存储路由\r\n * 5. 实现shouldAttach方法,判断是否有路由存储\r\n * 6. 实现retrieve方法,获取存储路由\r\n * 7. 实现destroy方法,销毁路由\r\n * \r\n * *使用方法\r\n @NgModule({\r\n providers: [\r\n { provide: RouteReuseStrategy, useClass: SimpleReuseStrategy }\r\n ],\r\n })\r\n\r\n data: { keep: true }\r\n */\r\nexport class SimpleReuseStrategy implements RouteReuseStrategy {\r\n static cacheRouters = new Map<string, DetachedRouteHandle>();\r\n\r\n public static deleteRouteCache(url): void {\r\n if (SimpleReuseStrategy.cacheRouters.has(url)) {\r\n const handle: any = SimpleReuseStrategy.cacheRouters.get(url);\r\n try {\r\n handle.componentRef.destory();\r\n } catch (e) { /* empty */ }\r\n SimpleReuseStrategy.cacheRouters.delete(url);\r\n }\r\n }\r\n\r\n public static deleteAllRouteCache(): void {\r\n SimpleReuseStrategy.cacheRouters.forEach((handle: any, key) => {\r\n SimpleReuseStrategy.deleteRouteCache(key);\r\n });\r\n }\r\n\r\n // one 进入路由触发,是否同一路由时复用路由\r\n shouldReuseRoute(future: ActivatedRouteSnapshot, curr: ActivatedRouteSnapshot): boolean {\r\n return (\r\n future.routeConfig === curr.routeConfig &&\r\n JSON.stringify(future.params) === JSON.stringify(curr.params)\r\n );\r\n }\r\n\r\n // 获取存储路由\r\n retrieve(route: ActivatedRouteSnapshot): DetachedRouteHandle {\r\n const url = this.getFullRouteURL(route);\r\n if (route.data.keep && SimpleReuseStrategy.cacheRouters.has(url)) {\r\n return SimpleReuseStrategy.cacheRouters.get(url);\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n // Whether to allow multiplexing routes\r\n shouldDetach(route: ActivatedRouteSnapshot): boolean {\r\n return Boolean(route.data.keep);\r\n }\r\n //It is triggered when the route leaves. The route is stored\r\n store(route: ActivatedRouteSnapshot, handle: DetachedRouteHandle): void {\r\n const url = this.getFullRouteURL(route);\r\n // 先把之前缓存的删除,\r\n SimpleReuseStrategy.cacheRouters.forEach((handle: any, key) => {\r\n SimpleReuseStrategy.deleteRouteCache(key);\r\n });\r\n SimpleReuseStrategy.cacheRouters.set(url, handle);\r\n }\r\n // Whether to allow route restoration\r\n shouldAttach(route: ActivatedRouteSnapshot): boolean {\r\n const url = this.getFullRouteURL(route);\r\n return Boolean(route.data.keep) && SimpleReuseStrategy.cacheRouters.has(url);\r\n }\r\n\r\n // Gets the current route url\r\n private getFullRouteURL(route: ActivatedRouteSnapshot): string {\r\n const { pathFromRoot } = route;\r\n let fullRouteUrlPath: string[] = [];\r\n pathFromRoot.forEach((item: ActivatedRouteSnapshot) => {\r\n fullRouteUrlPath = fullRouteUrlPath.concat(this.getRouteUrlPath(item));\r\n });\r\n return `/${fullRouteUrlPath.join('/')}`;\r\n }\r\n private getRouteUrlPath(route: ActivatedRouteSnapshot) {\r\n return route.url.map(urlSegment => urlSegment.path);\r\n }\r\n}\r\n","import { EventEmitter, Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n/**\r\n * 子页面更新父级列表服务\r\n * \r\n * 父页面:\r\n * \r\n private _UpdateListService=inject(UpdateListService)\r\n\r\n this._UpdateListService.updateListEvent.subscribe(() => {\r\n this.list.get()\r\n });\r\n * \r\n * 子页面:\r\n * \r\n private _UpdateListService=inject(UpdateListService)\r\n this._UpdateListService.updateList();\r\n */\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UpdateListService {\r\n public updateListEvent: EventEmitter<any> = new EventEmitter();\r\n\r\n\r\n updateList() {\r\n this.updateListEvent.emit();\r\n }\r\n\r\n /**\r\n * 使用发起数据\r\n * this.dataSubject.next(res);\r\n * \r\n * 接收数据产生回调\r\n this._UpdateLogoService.userInfo$.subscribe((res) => {\r\n this.getData();\r\n });\r\n */\r\n\r\n private dataSubject = new BehaviorSubject<any>(null);\r\n data$ = this.dataSubject.asObservable();\r\n updatedata(newdata: any) {\r\n this.dataSubject.next(newdata);\r\n }\r\n}\r\n","import { LocalizationService } from '@abp/ng.core';\r\nimport { ToasterService } from '@abp/ng.theme.shared';\r\nimport { Injectable } from '@angular/core';\r\nimport { FormGroup, FormArray, FormControl } from '@angular/forms';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ValidatorsService {\r\n constructor(private toaster: ToasterService, private _LocalizationService: LocalizationService) {}\r\n\r\n /**检查表单- */\r\n isCheckForm(input: { [key: string]: boolean }, module = 'AbpValidation'): boolean {\r\n const keys = Object.keys(input);\r\n for (let i = 0; i < keys.length; i++) {\r\n const element = keys[i];\r\n if (input[element] === false) {\r\n let info = `\"${this._LocalizationService.instant(`${module}::${element}`)}\" `;\r\n if (element.includes('.') && !element.includes('].')) {\r\n const arr = element.split('.');\r\n info = `\"${this._LocalizationService.instant(\r\n `${module}::${arr[0]}`,\r\n )}.${this._LocalizationService.instant(`${module}::${arr[1]}`)}\"`;\r\n }\r\n if (element.includes('].')) {\r\n const arr = element.split('].');\r\n const arrStart = arr[0].split('[');\r\n info = `\"${this._LocalizationService.instant(`${module}::${arrStart[0]}`)}[${\r\n arrStart[1]\r\n }].${this._LocalizationService.instant(`${module}::${arr[1]}`)}\"`;\r\n }\r\n info = info + this._LocalizationService.instant(`AbpValidation::ThisFieldIsNotValid.`);\r\n //使用abp多语言提示\r\n this.toaster.warn(info);\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /**获取表单所有字段是否通过验证 */\r\n getFormValidationStatus(formEntity: FormGroup | FormArray): { [key: string]: any } {\r\n const validationStatus: { [key: string]: any } = {};\r\n\r\n // 递归遍历表单组和表单控件集合\r\n const traverseForm = (form: FormGroup | FormArray, prefix = '') => {\r\n if (form instanceof FormGroup) {\r\n Object.keys(form.controls).forEach(key => {\r\n const control = form.controls[key];\r\n // const displayName = key.charAt(0).toUpperCase() + key.slice(1);\r\n const displayName = key;\r\n const fullKey = prefix ? `${prefix}.${displayName}` : displayName;\r\n if (control instanceof FormControl) {\r\n validationStatus[fullKey] = control.valid;\r\n } else if (control instanceof FormArray) {\r\n traverseForm(control, fullKey);\r\n } else if (control instanceof FormGroup) {\r\n traverseForm(control, fullKey);\r\n }\r\n });\r\n } else if (form instanceof FormArray) {\r\n form.controls.forEach((control, index) => {\r\n const fullKey = prefix ? `${prefix}[${index}]` : `[${index}]`;\r\n if (control instanceof FormControl) {\r\n validationStatus[fullKey] = control.valid;\r\n } else if (control instanceof FormArray) {\r\n traverseForm(control, fullKey);\r\n } else if (control instanceof FormGroup) {\r\n traverseForm(control, fullKey);\r\n }\r\n });\r\n }\r\n };\r\n\r\n traverseForm(formEntity);\r\n\r\n return validationStatus;\r\n }\r\n}\r\n","import { EnvironmentService } from '@abp/ng.core';\r\nimport { inject, Pipe, PipeTransform } from '@angular/core';\r\n/**获取当前窗口域名\r\n * 需要将environment.ts页面配置\r\n application: {\r\n baseUrl,\r\n name: 'Travely',\r\n webUrl:'https://localhost:44374',\r\n },\r\n *\r\n */\r\n@Pipe({\r\n name: 'getNowDomain',\r\n standalone: true\r\n})\r\nexport class GetNowDomainPipe implements PipeTransform {\r\n private environment = inject(EnvironmentService);\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n transform(value: unknown, ...args: unknown[]): unknown {\r\n const production = this.environment.getEnvironment()?.production;\r\n const application:any=this.environment.getEnvironment()?.application;\r\n const webUrl=application?.webUrl;\r\n if (!production) return webUrl + value;\r\n return this.get(value);\r\n }\r\n\r\n /**获取当前域名并重定向链接 */\r\n get(value) {\r\n const baseUrl: any = (function () {\r\n const extractDomain = (url) => {\r\n const regex = /^(https?:\\/\\/)?([^/]+)(?:[/?].*)?$/;\r\n // const regex = /^(https?:\\/\\/)?([^\\/]+)(?:[\\/?].*)?$/;\r\n const match = url.match(regex);\r\n if (match) {\r\n const protocol = match[1] || '';\r\n const domain = `${protocol}${match[2]}`;\r\n return `${domain}`;\r\n }\r\n return url;\r\n }\r\n const url = window.location.href;\r\n return `${extractDomain(url)}` + value\r\n })()\r\n return baseUrl\r\n }\r\n\r\n}\r\n","//pipe下新建:get-tenant-img.pipe.ts,\r\n//如何引用见:独立管道的使用\r\n\r\nimport { ConfigStateService, EnvironmentService } from '@abp/ng.core';\r\nimport { inject, Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'getTenantImg',\r\n standalone:true,\r\n})\r\nexport class GetTenantImgPipe implements PipeTransform {\r\n private configState = inject(ConfigStateService)\r\n private environment = inject(EnvironmentService)\r\n transform(value: unknown, ...args: unknown[]): unknown {\r\n const tenantId = this.configState.getDeep('currentUser.tenantId')||'';\r\n const environment = this.environment.getEnvironment();\r\n const imgUrl =`${environment.apis.default.url}/api/file-explorer/files/${args}/${value}?__tenant=${tenantId}`\r\n return value?imgUrl:'';\r\n }\r\n}\r\n//使用\r\n// {{'agentAvatarBlobName'|getTenantImg:'Avatar'}}\r\n","/* eslint-disable @typescript-eslint/no-unused-vars */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'slugNormalizer',\r\n standalone: true\r\n})\r\nexport class SlugNormalizerPipe implements PipeTransform {\r\n\r\n transform(value: unknown, ...args: unknown[]): unknown {\r\n return this.normalize(value);\r\n }\r\n\r\n normalize(value) {\r\n // Convert to lowercase\r\n value = value.toLowerCase();\r\n // Replace special characters with hyphen\r\n const invalidChars = ['\\\\', '/', '?', '&', '=', '+', '%', '#', '@', '!', '$', '\\'', '\"', ':', ';', '>', '<', '*', '(', ')', '[', '],', '{', '}', '|', '^', '`', '~'];\r\n for (const c of invalidChars) {\r\n value = value.replaceAll(c, '-');\r\n }\r\n // Convert spaces to hyphens\r\n value = value.replaceAll(\" \", \"-\");\r\n\r\n // Remove multiple consecutive hyphens\r\n while (value.includes(\"--\")) {\r\n value = value.replaceAll(\"--\", \"-\");\r\n }\r\n\r\n // Trim hyphens from start and end\r\n value = value.trim('-');\r\n \r\n // URL encode the remaining string (handles UTF-8 characters)\r\n //部分编码-保留语义\r\n //return encodeURI(value);\r\n //全部编码\r\n return encodeURIComponent(value);\r\n }\r\n\r\n}\r\n","/* eslint-disable @angular-eslint/component-selector */\r\nimport { PageModule } from '@abp/ng.components/page';\r\nimport { CoreModule } from '@abp/ng.core';\r\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\r\nimport { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\r\nimport { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'app-image-preview',\r\n template: `\r\n <div\r\n [id]=\"id\"\r\n *ngIf=\"_src\"\r\n class=\"image-preview imagehove border position-relative m-1 overflow-hidden \"\r\n [style]=\"{'width': width+'px','height': height+'px',borderRadius:rounded}\" [ngClass]=\"{'rounded-4': !rounded,'bg-black':bgBlack}\"\r\n >\r\n <img [src]=\"_src\" alt=\"\" class=\"w-100 h-100 object-fit-cover\" />\r\n <input\r\n type=\"checkbox\"\r\n class=\"form-check-input position-absolute top-0 end-0 m-1\"\r\n *ngIf=\"checkChange.observed\"\r\n (change)=\"checkImage($event)\"\r\n style=\"z-index: 10;\"\r\n />\r\n <div\r\n class=\"w-100 h-100 text-white position-absolute top-0 start-0\"\r\n style=\"background-color: #00000050;\"\r\n *ngIf=\"preview || deleteChange.observed\"\r\n >\r\n <i\r\n type=\"button\"\r\n class=\"fa fa-eye p-2\"\r\n *ngIf=\"preview\"\r\n (click.stop)=\"OpenPreviewImage(content)\"\r\n ></i>\r\n <i\r\n type=\"button\"\r\n class=\"fa fa-times p-2\"\r\n *ngIf=\"deleteChange.observed\"\r\n (click.stop)=\"deletecoverPics()\"\r\n ></i>\r\n </div>\r\n </div>\r\n\r\n <ng-template #content let-modal>\r\n <div class=\"modal-header\">\r\n <div class=\"d-flex justify-content-end w-100 fs-3 text-white\">\r\n <i\r\n class=\"mx-2 fa fa fa-repeat\"\r\n aria-hidden=\"true\"\r\n title=\"右旋转\"\r\n role=\"button\"\r\n (click)=\"RotateRight()\"\r\n ></i>\r\n <i\r\n class=\"mx-2 fa fa-search-minus\"\r\n aria-hidden=\"true\"\r\n title=\"缩小\"\r\n role=\"button\"\r\n (click)=\"zoomOut()\"\r\n ></i>\r\n <i\r\n class=\"mx-2 fa fa-search-plus\"\r\n aria-hidden=\"true\"\r\n title=\"放大\"\r\n role=\"button\"\r\n (click)=\"zoomIn()\"\r\n ></i>\r\n <i\r\n class=\"mx-2 fa fa-times\"\r\n aria-hidden=\"true\"\r\n role=\"button\"\r\n (click)=\"modal.dismiss('Cross click')\"\r\n ></i>\r\n </div>\r\n </div>\r\n <div class=\"modal-body d-flex justify-content-center align-items-center \">\r\n <img\r\n width=\"400\"\r\n class=\"modal-body-preview\"\r\n [src]=\"_src\"\r\n [style.transform]=\"'scale(' + zoom / 10 + ') rotate(' + rotate + 'deg)'\"\r\n />\r\n </div>\r\n </ng-template>\r\n `,\r\n styles: [\r\n `\r\n .image-preview.imagehove > div {\r\n display: none;\r\n }\r\n\r\n .image-preview.imagehove:hover div {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n\r\n ::ng-deep.dignite-preview .modal-content {\r\n background-color: transparent !important;\r\n }\r\n .object-fit-cover{\r\n object-fit: cover;\r\n }\r\n `,\r\n ],\r\n standalone: true,\r\n imports: [CoreModule, ThemeSharedModule, CommonModule, PageModule],\r\n})\r\nexport class ImagePreviewComponent {\r\n /**图片链接 */\r\n _src: any = '';\r\n @Input()\r\n public set src(v: any) {\r\n this._src = v;\r\n }\r\n\r\n /**是否预览 */\r\n @Input() preview = true;\r\n\r\n /**宽 */\r\n @Input() width = 90;\r\n /**高 */\r\n @Input() height = 90;\r\n @Input() rounded = '';\r\n @Input() id = '';\r\n @Input() bgBlack = false;\r\n\r\n /**模态框实例 */\r\n modalRef!: NgbModalRef;\r\n\r\n /**放大倍数 */\r\n zoom: number|any = 10;\r\n\r\n /**旋转 */\r\n rotate: number|any = 0;\r\n constructor(\r\n private modalService:NgbModal\r\n ){}\r\n\r\n\r\n @Output() deleteChange = new EventEmitter();\r\n @Output() checkChange = new EventEmitter();\r\n\r\n /**选择图片的事件,返回父组件是否选中 */\r\n checkImage(event: any) {\r\n this.checkChange.emit(event.target.checked);\r\n }\r\n\r\n /**删除图片 */\r\n deletecoverPics() {\r\n this.deleteChange.emit();\r\n }\r\n\r\n /**打开预览弹窗 */\r\n OpenPreviewImage(content: TemplateRef<any>) {\r\n this.modalRef = this.modalService.open(content, {\r\n fullscreen: true,\r\n modalDialogClass: 'dignite-preview',\r\n });\r\n this.modalRef.result.then(\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n () => {\r\n },\r\n () => {\r\n this.zoom = 10;\r\n }\r\n );\r\n }\r\n /**放大图像 */\r\n zoomIn() {\r\n let zoom = this.zoom;\r\n if (zoom == 20) return;\r\n zoom++;\r\n this.zoom = zoom;\r\n }\r\n\r\n /**缩小图像 */\r\n zoomOut() {\r\n let zoom = this.zoom;\r\n if (zoom == 3) return;\r\n zoom--;\r\n this.zoom = zoom;\r\n }\r\n\r\n /**右旋转 */\r\n RotateRight() {\r\n if (this.rotate == 360) return (this.rotate = 0);\r\n this.rotate += 90;\r\n }\r\n}\r\n","/* eslint-disable @angular-eslint/directive-selector */\r\nimport { Directive, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[KeydownPreventDefault]',\r\n standalone: true,\r\n})\r\nexport class KeydownPreventDefaultDirective {\r\n\r\n @HostListener('keydown.enter', ['$event'])\r\n onKeyDown(event: KeyboardEvent) {\r\n event.preventDefault();\r\n }\r\n}\r\n","/*\r\n * Public API Surface of core\r\n */\r\n\r\nexport * from './lib/strategies';\r\nexport * from './lib/services';\r\nexport * from './lib/pipes';\r\nexport * from './lib/expand';\r\nexport * from './lib/directives';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dignite-ng-expand.core.mjs","sources":["../../../../packages/core/src/lib/strategies/simple-reuse-strategy.ts","../../../../packages/core/src/lib/services/update-list.service.ts","../../../../packages/core/src/lib/services/validators.service.ts","../../../../packages/core/src/lib/services/location-back.service.ts","../../../../packages/core/src/lib/pipes/get-now-domain.pipe.ts","../../../../packages/core/src/lib/pipes/get-tenant-img.pipe.ts","../../../../packages/core/src/lib/pipes/slug-normalizer.pipe.ts","../../../../packages/core/src/lib/expand/image-preview.component.ts","../../../../packages/core/src/lib/directives/keydown-prevent-default.directive.ts","../../../../packages/core/src/public-api.ts","../../../../packages/core/src/dignite-ng-expand.core.ts"],"sourcesContent":["import { RouteReuseStrategy, ActivatedRouteSnapshot, DetachedRouteHandle } from '@angular/router';\r\n/**\r\n * 路由复用策略\r\n * \r\n * 1. 实现shouldReuseRoute方法,判断是否同一路由时复用路由\r\n * 2. 实现retrieve方法,获取存储路由\r\n * 3. 实现shouldDetach方法,判断是否有路由存储\r\n * 4. 实现store方法,存储路由\r\n * 5. 实现shouldAttach方法,判断是否有路由存储\r\n * 6. 实现retrieve方法,获取存储路由\r\n * 7. 实现destroy方法,销毁路由\r\n * \r\n * *使用方法\r\n @NgModule({\r\n providers: [\r\n { provide: RouteReuseStrategy, useClass: SimpleReuseStrategy }\r\n ],\r\n })\r\n\r\n data: { keep: true }\r\n */\r\nexport class SimpleReuseStrategy implements RouteReuseStrategy {\r\n static cacheRouters = new Map<string, DetachedRouteHandle>();\r\n\r\n public static deleteRouteCache(url): void {\r\n if (SimpleReuseStrategy.cacheRouters.has(url)) {\r\n const handle: any = SimpleReuseStrategy.cacheRouters.get(url);\r\n try {\r\n handle.componentRef.destory();\r\n } catch (e) { /* empty */ }\r\n SimpleReuseStrategy.cacheRouters.delete(url);\r\n }\r\n }\r\n\r\n public static deleteAllRouteCache(): void {\r\n SimpleReuseStrategy.cacheRouters.forEach((handle: any, key) => {\r\n SimpleReuseStrategy.deleteRouteCache(key);\r\n });\r\n }\r\n\r\n // one 进入路由触发,是否同一路由时复用路由\r\n shouldReuseRoute(future: ActivatedRouteSnapshot, curr: ActivatedRouteSnapshot): boolean {\r\n return (\r\n future.routeConfig === curr.routeConfig &&\r\n JSON.stringify(future.params) === JSON.stringify(curr.params)\r\n );\r\n }\r\n\r\n // 获取存储路由\r\n retrieve(route: ActivatedRouteSnapshot): DetachedRouteHandle {\r\n const url = this.getFullRouteURL(route);\r\n if (route.data.keep && SimpleReuseStrategy.cacheRouters.has(url)) {\r\n return SimpleReuseStrategy.cacheRouters.get(url);\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n // Whether to allow multiplexing routes\r\n shouldDetach(route: ActivatedRouteSnapshot): boolean {\r\n return Boolean(route.data.keep);\r\n }\r\n //It is triggered when the route leaves. The route is stored\r\n store(route: ActivatedRouteSnapshot, handle: DetachedRouteHandle): void {\r\n const url = this.getFullRouteURL(route);\r\n // 先把之前缓存的删除,\r\n SimpleReuseStrategy.cacheRouters.forEach((handle: any, key) => {\r\n SimpleReuseStrategy.deleteRouteCache(key);\r\n });\r\n SimpleReuseStrategy.cacheRouters.set(url, handle);\r\n }\r\n // Whether to allow route restoration\r\n shouldAttach(route: ActivatedRouteSnapshot): boolean {\r\n const url = this.getFullRouteURL(route);\r\n return Boolean(route.data.keep) && SimpleReuseStrategy.cacheRouters.has(url);\r\n }\r\n\r\n // Gets the current route url\r\n private getFullRouteURL(route: ActivatedRouteSnapshot): string {\r\n const { pathFromRoot } = route;\r\n let fullRouteUrlPath: string[] = [];\r\n pathFromRoot.forEach((item: ActivatedRouteSnapshot) => {\r\n fullRouteUrlPath = fullRouteUrlPath.concat(this.getRouteUrlPath(item));\r\n });\r\n return `/${fullRouteUrlPath.join('/')}`;\r\n }\r\n private getRouteUrlPath(route: ActivatedRouteSnapshot) {\r\n return route.url.map(urlSegment => urlSegment.path);\r\n }\r\n}\r\n","import { EventEmitter, Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n/**\r\n * 子页面更新父级列表服务\r\n * \r\n * 父页面:\r\n * \r\n private _UpdateListService=inject(UpdateListService)\r\n\r\n this._UpdateListService.updateListEvent.subscribe(() => {\r\n this.list.get()\r\n });\r\n * \r\n * 子页面:\r\n * \r\n private _UpdateListService=inject(UpdateListService)\r\n this._UpdateListService.updateList();\r\n */\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UpdateListService {\r\n public updateListEvent: EventEmitter<any> = new EventEmitter();\r\n\r\n\r\n updateList() {\r\n this.updateListEvent.emit();\r\n }\r\n\r\n /**\r\n * 使用发起数据\r\n * this.dataSubject.next(res);\r\n * \r\n * 接收数据产生回调\r\n this._UpdateLogoService.userInfo$.subscribe((res) => {\r\n this.getData();\r\n });\r\n */\r\n\r\n private dataSubject = new BehaviorSubject<any>(null);\r\n data$ = this.dataSubject.asObservable();\r\n updatedata(newdata: any) {\r\n this.dataSubject.next(newdata);\r\n }\r\n}\r\n","import { LocalizationService } from '@abp/ng.core';\r\nimport { ToasterService } from '@abp/ng.theme.shared';\r\nimport { Injectable } from '@angular/core';\r\nimport { FormGroup, FormArray, FormControl, Validators } from '@angular/forms';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ValidatorsService {\r\n constructor(private toaster: ToasterService, private _LocalizationService: LocalizationService) {}\r\n\r\n /**检查表单- */\r\n isCheckForm(input: { [key: string]: boolean }, module = 'AbpValidation'): boolean {\r\n const keys = Object.keys(input);\r\n for (let i = 0; i < keys.length; i++) {\r\n const element = keys[i];\r\n if (input[element] === false) {\r\n const displayName = element.charAt(0).toUpperCase() + element.slice(1);\r\n console.log(element,'element',displayName);\r\n let info = `\"${this._LocalizationService.instant(`${module}::${displayName}`)}\" `;\r\n if (element.includes('.') && !element.includes('].')) {\r\n const arr = element.split('.');\r\n info = `\"${this._LocalizationService.instant(\r\n `${module}::${arr[0]}`,\r\n )}.${this._LocalizationService.instant(`${module}::${arr[1]}`)}\"`;\r\n }\r\n if (element.includes('].')) {\r\n const arr = element.split('].');\r\n const arrStart = arr[0].split('[');\r\n info = `\"${this._LocalizationService.instant(`${module}::${arrStart[0]}`)}[${\r\n arrStart[1]\r\n }].${this._LocalizationService.instant(`${module}::${arr[1]}`)}\"`;\r\n }\r\n info = info + this._LocalizationService.instant(`AbpValidation::ThisFieldIsNotValid.`);\r\n\r\n //使用abp多语言提示\r\n this.toaster.warn(info);\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /**获取表单所有字段是否通过验证 */\r\n getFormValidationStatus(formEntity: FormGroup | FormArray): { [key: string]: any } {\r\n const validationStatus: { [key: string]: any } = {};\r\n \r\n // 递归遍历表单组和表单控件集合\r\n const traverseForm = (form: FormGroup | FormArray, prefix = '') => {\r\n if (form instanceof FormGroup) {\r\n Object.keys(form.controls).forEach(key => {\r\n const control = form.controls[key];\r\n // const displayName = key.charAt(0).toUpperCase() + key.slice(1);\r\n const displayName = key;\r\n const fullKey = prefix ? `${prefix}.${displayName}` : displayName;\r\n if (control instanceof FormControl) {\r\n validationStatus[fullKey] = control.valid;\r\n } else if (control instanceof FormArray) {\r\n traverseForm(control, fullKey);\r\n } else if (control instanceof FormGroup) {\r\n traverseForm(control, fullKey);\r\n }\r\n });\r\n } else if (form instanceof FormArray) {\r\n form.controls.forEach((control, index) => {\r\n const fullKey = prefix ? `${prefix}[${index}]` : `[${index}]`;\r\n if (control instanceof FormControl) {\r\n validationStatus[fullKey] = control.valid;\r\n } else if (control instanceof FormArray) {\r\n traverseForm(control, fullKey);\r\n } else if (control instanceof FormGroup) {\r\n traverseForm(control, fullKey);\r\n }\r\n });\r\n }\r\n };\r\n\r\n traverseForm(formEntity);\r\n\r\n return validationStatus;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Location } from '@angular/common';\r\nimport { Router } from '@angular/router';\r\n\r\nexport interface backBase {\r\n //检查的链接,如果链接中包含该字符串,则返回上一页,否则跳转到Url页\r\n url?: string;\r\n //链接补充,用于在url后面补充其余链接\r\n replenish?: string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class LocationBackService {\r\n constructor(public _location: Location, private router: Router) {}\r\n backTo(input?: backBase) {\r\n const { url, replenish } = input;\r\n const referrer = document.referrer;\r\n const targetUrl = url;\r\n //如果referrer中包含targetUrl,则返回上一页,否则跳转到targetUrl页\r\n if (referrer && referrer.includes(targetUrl) && !referrer.includes(targetUrl + replenish)) {\r\n this.back();\r\n } else {\r\n this.router.navigate([targetUrl]);\r\n }\r\n }\r\n\r\n back() {\r\n this._location.back();\r\n }\r\n}\r\n","import { EnvironmentService } from '@abp/ng.core';\r\nimport { inject, Pipe, PipeTransform } from '@angular/core';\r\n/**获取当前窗口域名\r\n * 需要将environment.ts页面配置\r\n application: {\r\n baseUrl,\r\n name: 'Travely',\r\n webUrl:'https://localhost:44374',\r\n },\r\n *\r\n */\r\n@Pipe({\r\n name: 'getNowDomain',\r\n standalone: true\r\n})\r\nexport class GetNowDomainPipe implements PipeTransform {\r\n private environment = inject(EnvironmentService);\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n transform(value: unknown, ...args: unknown[]): unknown {\r\n const production = this.environment.getEnvironment()?.production;\r\n const application:any=this.environment.getEnvironment()?.application;\r\n const webUrl=application?.webUrl;\r\n if (!production) return webUrl + value;\r\n return this.get(value);\r\n }\r\n\r\n /**获取当前域名并重定向链接 */\r\n get(value) {\r\n const baseUrl: any = (function () {\r\n const extractDomain = (url) => {\r\n const regex = /^(https?:\\/\\/)?([^/]+)(?:[/?].*)?$/;\r\n // const regex = /^(https?:\\/\\/)?([^\\/]+)(?:[\\/?].*)?$/;\r\n const match = url.match(regex);\r\n if (match) {\r\n const protocol = match[1] || '';\r\n const domain = `${protocol}${match[2]}`;\r\n return `${domain}`;\r\n }\r\n return url;\r\n }\r\n const url = window.location.href;\r\n return `${extractDomain(url)}` + value\r\n })()\r\n return baseUrl\r\n }\r\n\r\n}\r\n","//pipe下新建:get-tenant-img.pipe.ts,\r\n//如何引用见:独立管道的使用\r\n\r\nimport { ConfigStateService, EnvironmentService } from '@abp/ng.core';\r\nimport { inject, Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'getTenantImg',\r\n standalone:true,\r\n})\r\nexport class GetTenantImgPipe implements PipeTransform {\r\n private configState = inject(ConfigStateService)\r\n private environment = inject(EnvironmentService)\r\n transform(value: unknown, ...args: unknown[]): unknown {\r\n const tenantId = this.configState.getDeep('currentUser.tenantId')||'';\r\n const environment = this.environment.getEnvironment();\r\n const imgUrl =`${environment.apis.default.url}/api/file-explorer/files/${args}/${value}?__tenant=${tenantId}`\r\n return value?imgUrl:'';\r\n }\r\n}\r\n//使用\r\n// {{'agentAvatarBlobName'|getTenantImg:'Avatar'}}\r\n","/* eslint-disable @typescript-eslint/no-unused-vars */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'slugNormalizer',\r\n standalone: true\r\n})\r\nexport class SlugNormalizerPipe implements PipeTransform {\r\n\r\n transform(value: unknown, ...args: unknown[]): unknown {\r\n return this.normalize(value);\r\n }\r\n\r\n normalize(value) {\r\n // Convert to lowercase\r\n value = value.toLowerCase();\r\n // Replace special characters with hyphen\r\n const invalidChars = ['\\\\', '/', '?', '&', '=', '+', '%', '#', '@', '!', '$', '\\'', '\"', ':', ';', '>', '<', '*', '(', ')', '[', '],', '{', '}', '|', '^', '`', '~'];\r\n for (const c of invalidChars) {\r\n value = value.replaceAll(c, '-');\r\n }\r\n // Convert spaces to hyphens\r\n value = value.replaceAll(\" \", \"-\");\r\n\r\n // Remove multiple consecutive hyphens\r\n while (value.includes(\"--\")) {\r\n value = value.replaceAll(\"--\", \"-\");\r\n }\r\n\r\n // Trim hyphens from start and end\r\n value = value.trim('-');\r\n \r\n // URL encode the remaining string (handles UTF-8 characters)\r\n //部分编码-保留语义\r\n //return encodeURI(value);\r\n //全部编码\r\n return encodeURIComponent(value);\r\n }\r\n\r\n}\r\n","/* eslint-disable @angular-eslint/component-selector */\r\nimport { PageModule } from '@abp/ng.components/page';\r\nimport { CoreModule } from '@abp/ng.core';\r\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\r\nimport { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\r\nimport { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'app-image-preview',\r\n template: `\r\n <div\r\n [id]=\"id\"\r\n *ngIf=\"_src\"\r\n class=\"image-preview imagehove border position-relative m-1 overflow-hidden \"\r\n [style]=\"{'width': width+'px','height': height+'px',borderRadius:rounded}\" [ngClass]=\"{'rounded-4': !rounded,'bg-black':bgBlack}\"\r\n >\r\n <img [src]=\"_src\" alt=\"\" class=\"w-100 h-100 object-fit-cover\" />\r\n <input\r\n type=\"checkbox\"\r\n class=\"form-check-input position-absolute top-0 end-0 m-1\"\r\n *ngIf=\"checkChange.observed\"\r\n (change)=\"checkImage($event)\"\r\n style=\"z-index: 10;\"\r\n />\r\n <div\r\n class=\"w-100 h-100 text-white position-absolute top-0 start-0\"\r\n style=\"background-color: #00000050;\"\r\n *ngIf=\"preview || deleteChange.observed\"\r\n >\r\n <i\r\n type=\"button\"\r\n class=\"fa fa-eye p-2\"\r\n *ngIf=\"preview\"\r\n (click.stop)=\"OpenPreviewImage(content)\"\r\n ></i>\r\n <i\r\n type=\"button\"\r\n class=\"fa fa-times p-2\"\r\n *ngIf=\"deleteChange.observed\"\r\n (click.stop)=\"deletecoverPics()\"\r\n ></i>\r\n </div>\r\n </div>\r\n\r\n <ng-template #content let-modal>\r\n <div class=\"modal-header\">\r\n <div class=\"d-flex justify-content-end w-100 fs-3 text-white\">\r\n <i\r\n class=\"mx-2 fa fa fa-repeat\"\r\n aria-hidden=\"true\"\r\n title=\"右旋转\"\r\n role=\"button\"\r\n (click)=\"RotateRight()\"\r\n ></i>\r\n <i\r\n class=\"mx-2 fa fa-search-minus\"\r\n aria-hidden=\"true\"\r\n title=\"缩小\"\r\n role=\"button\"\r\n (click)=\"zoomOut()\"\r\n ></i>\r\n <i\r\n class=\"mx-2 fa fa-search-plus\"\r\n aria-hidden=\"true\"\r\n title=\"放大\"\r\n role=\"button\"\r\n (click)=\"zoomIn()\"\r\n ></i>\r\n <i\r\n class=\"mx-2 fa fa-times\"\r\n aria-hidden=\"true\"\r\n role=\"button\"\r\n (click)=\"modal.dismiss('Cross click')\"\r\n ></i>\r\n </div>\r\n </div>\r\n <div class=\"modal-body d-flex justify-content-center align-items-center \">\r\n <img\r\n width=\"400\"\r\n class=\"modal-body-preview\"\r\n [src]=\"_src\"\r\n [style.transform]=\"'scale(' + zoom / 10 + ') rotate(' + rotate + 'deg)'\"\r\n />\r\n </div>\r\n </ng-template>\r\n `,\r\n styles: [\r\n `\r\n .image-preview.imagehove > div {\r\n display: none;\r\n }\r\n\r\n .image-preview.imagehove:hover div {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n\r\n ::ng-deep.dignite-preview .modal-content {\r\n background-color: transparent !important;\r\n }\r\n .object-fit-cover{\r\n object-fit: cover;\r\n }\r\n `,\r\n ],\r\n standalone: true,\r\n imports: [CoreModule, ThemeSharedModule, CommonModule, PageModule],\r\n})\r\nexport class ImagePreviewComponent {\r\n /**图片链接 */\r\n _src: any = '';\r\n @Input()\r\n public set src(v: any) {\r\n this._src = v;\r\n }\r\n\r\n /**是否预览 */\r\n @Input() preview = true;\r\n\r\n /**宽 */\r\n @Input() width = 90;\r\n /**高 */\r\n @Input() height = 90;\r\n @Input() rounded = '';\r\n @Input() id = '';\r\n @Input() bgBlack = false;\r\n\r\n /**模态框实例 */\r\n modalRef!: NgbModalRef;\r\n\r\n /**放大倍数 */\r\n zoom: number|any = 10;\r\n\r\n /**旋转 */\r\n rotate: number|any = 0;\r\n constructor(\r\n private modalService:NgbModal\r\n ){}\r\n\r\n\r\n @Output() deleteChange = new EventEmitter();\r\n @Output() checkChange = new EventEmitter();\r\n\r\n /**选择图片的事件,返回父组件是否选中 */\r\n checkImage(event: any) {\r\n this.checkChange.emit(event.target.checked);\r\n }\r\n\r\n /**删除图片 */\r\n deletecoverPics() {\r\n this.deleteChange.emit();\r\n }\r\n\r\n /**打开预览弹窗 */\r\n OpenPreviewImage(content: TemplateRef<any>) {\r\n this.modalRef = this.modalService.open(content, {\r\n fullscreen: true,\r\n modalDialogClass: 'dignite-preview',\r\n });\r\n this.modalRef.result.then(\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n () => {\r\n },\r\n () => {\r\n this.zoom = 10;\r\n }\r\n );\r\n }\r\n /**放大图像 */\r\n zoomIn() {\r\n let zoom = this.zoom;\r\n if (zoom == 20) return;\r\n zoom++;\r\n this.zoom = zoom;\r\n }\r\n\r\n /**缩小图像 */\r\n zoomOut() {\r\n let zoom = this.zoom;\r\n if (zoom == 3) return;\r\n zoom--;\r\n this.zoom = zoom;\r\n }\r\n\r\n /**右旋转 */\r\n RotateRight() {\r\n if (this.rotate == 360) return (this.rotate = 0);\r\n this.rotate += 90;\r\n }\r\n}\r\n","/* eslint-disable @angular-eslint/directive-selector */\r\nimport { Directive, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[KeydownPreventDefault]',\r\n standalone: true,\r\n})\r\nexport class KeydownPreventDefaultDirective {\r\n\r\n @HostListener('keydown.enter', ['$event'])\r\n onKeyDown(event: KeyboardEvent) {\r\n event.preventDefault();\r\n }\r\n}\r\n","/*\r\n * Public API Surface of core\r\n */\r\n\r\nexport * from './lib/strategies';\r\nexport * from './lib/services';\r\nexport * from './lib/pipes';\r\nexport * from './lib/expand';\r\nexport * from './lib/directives';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3"],"mappings":"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"}
|
package/lib/services/index.d.ts
CHANGED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Location } from '@angular/common';
|
|
2
|
+
import { Router } from '@angular/router';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export interface backBase {
|
|
5
|
+
url?: string;
|
|
6
|
+
replenish?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare class LocationBackService {
|
|
9
|
+
_location: Location;
|
|
10
|
+
private router;
|
|
11
|
+
constructor(_location: Location, router: Router);
|
|
12
|
+
backTo(input?: backBase): void;
|
|
13
|
+
back(): void;
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LocationBackService, never>;
|
|
15
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<LocationBackService>;
|
|
16
|
+
}
|