frontend format code
This commit is contained in:
@@ -1,19 +1,18 @@
|
||||
/*
|
||||
* Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
|
||||
*
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
|
||||
import { Component, ElementRef, OnInit, Renderer2 } from '@angular/core';
|
||||
import { NavigationEnd, NavigationError, RouteConfigLoadStart, Router } from '@angular/router';
|
||||
|
||||
@@ -1,19 +1,18 @@
|
||||
/*
|
||||
* Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
|
||||
*
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
|
||||
/* eslint-disable import/order */
|
||||
/* eslint-disable import/no-duplicates */
|
||||
|
||||
@@ -1,19 +1,18 @@
|
||||
/*
|
||||
* Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
|
||||
*
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
|
||||
import { NgModule, Optional, SkipSelf } from '@angular/core';
|
||||
|
||||
|
||||
@@ -1,19 +1,18 @@
|
||||
/*
|
||||
* Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
|
||||
*
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
|
||||
export * from './i18n/i18n.service';
|
||||
export * from './module-import-guard';
|
||||
|
||||
@@ -1,19 +1,18 @@
|
||||
/*
|
||||
* Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
|
||||
*
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
|
||||
// https://angular.io/guide/styleguide#style-04-12
|
||||
export function throwIfAlreadyLoaded(parentModule: any, moduleName: string): void {
|
||||
|
||||
@@ -1,19 +1,18 @@
|
||||
/*
|
||||
* Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
|
||||
*
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
|
||||
import { HttpClient } from '@angular/common/http';
|
||||
import { Inject, Injectable } from '@angular/core';
|
||||
|
||||
@@ -1,53 +1,52 @@
|
||||
/*
|
||||
* Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
|
||||
*
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
|
||||
import format from 'date-fns/format';
|
||||
|
||||
import { BaseEntity } from './BaseEntity';
|
||||
|
||||
export class Accounts extends BaseEntity {
|
||||
strategyId!: String;
|
||||
strategyName!: String;
|
||||
appId!: String;
|
||||
appName!: String;
|
||||
userId!: String;
|
||||
username!: String;
|
||||
displayName!: String;
|
||||
relatedUsername!: String;
|
||||
relatedPassword!: String;
|
||||
createType!: String;
|
||||
strategyId!: String;
|
||||
strategyName!: String;
|
||||
appId!: String;
|
||||
appName!: String;
|
||||
userId!: String;
|
||||
username!: String;
|
||||
displayName!: String;
|
||||
relatedUsername!: String;
|
||||
relatedPassword!: String;
|
||||
createType!: String;
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
this.createType = 'manual';
|
||||
}
|
||||
constructor() {
|
||||
super();
|
||||
this.createType = 'manual';
|
||||
}
|
||||
|
||||
override init(data: any): void {
|
||||
Object.assign(this, data);
|
||||
if (this.status == 1) {
|
||||
this.switch_status = true;
|
||||
}
|
||||
override init(data: any): void {
|
||||
Object.assign(this, data);
|
||||
if (this.status == 1) {
|
||||
this.switch_status = true;
|
||||
}
|
||||
}
|
||||
|
||||
override trans(): void {
|
||||
if (this.switch_status) {
|
||||
this.status = 1;
|
||||
} else {
|
||||
this.status = 0;
|
||||
}
|
||||
override trans(): void {
|
||||
if (this.switch_status) {
|
||||
this.status = 1;
|
||||
} else {
|
||||
this.status = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,55 +1,54 @@
|
||||
/*
|
||||
* Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
|
||||
*
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
|
||||
import format from 'date-fns/format';
|
||||
|
||||
import { BaseEntity } from './BaseEntity';
|
||||
|
||||
export class AccountsStrategy extends BaseEntity {
|
||||
name!: String;
|
||||
appId!: String;
|
||||
appName!: String;
|
||||
filters!: String;
|
||||
orgIdsList!: String;
|
||||
mapping!: String;
|
||||
suffixes!: String;
|
||||
createType!: String;
|
||||
switch_dynamic: boolean = false;
|
||||
picker_resumeTime: Date = new Date(format(new Date(), 'yyyy-MM-dd 00:00:00'));
|
||||
picker_suspendTime: Date = new Date(format(new Date(), 'yyyy-MM-dd 00:00:00'));
|
||||
name!: String;
|
||||
appId!: String;
|
||||
appName!: String;
|
||||
filters!: String;
|
||||
orgIdsList!: String;
|
||||
mapping!: String;
|
||||
suffixes!: String;
|
||||
createType!: String;
|
||||
switch_dynamic: boolean = false;
|
||||
picker_resumeTime: Date = new Date(format(new Date(), 'yyyy-MM-dd 00:00:00'));
|
||||
picker_suspendTime: Date = new Date(format(new Date(), 'yyyy-MM-dd 00:00:00'));
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
this.createType = 'manual';
|
||||
this.mapping = 'username';
|
||||
}
|
||||
constructor() {
|
||||
super();
|
||||
this.createType = 'manual';
|
||||
this.mapping = 'username';
|
||||
}
|
||||
|
||||
override init(data: any): void {
|
||||
Object.assign(this, data);
|
||||
if (this.status == 1) {
|
||||
this.switch_status = true;
|
||||
}
|
||||
override init(data: any): void {
|
||||
Object.assign(this, data);
|
||||
if (this.status == 1) {
|
||||
this.switch_status = true;
|
||||
}
|
||||
}
|
||||
|
||||
override trans(): void {
|
||||
if (this.switch_status) {
|
||||
this.status = 1;
|
||||
} else {
|
||||
this.status = 0;
|
||||
}
|
||||
override trans(): void {
|
||||
if (this.switch_status) {
|
||||
this.status = 1;
|
||||
} else {
|
||||
this.status = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,45 +1,44 @@
|
||||
/*
|
||||
* Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
|
||||
*
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
|
||||
import format from 'date-fns/format';
|
||||
|
||||
import { BaseEntity } from './BaseEntity';
|
||||
|
||||
export class Adapters extends BaseEntity {
|
||||
name!: String;
|
||||
protocol!: String;
|
||||
adapter!: String;
|
||||
switch_dynamic: boolean = false;
|
||||
name!: String;
|
||||
protocol!: String;
|
||||
adapter!: String;
|
||||
switch_dynamic: boolean = false;
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
}
|
||||
constructor() {
|
||||
super();
|
||||
}
|
||||
|
||||
override init(data: any): void {
|
||||
Object.assign(this, data);
|
||||
if (this.status == 1) {
|
||||
this.switch_status = true;
|
||||
}
|
||||
override init(data: any): void {
|
||||
Object.assign(this, data);
|
||||
if (this.status == 1) {
|
||||
this.switch_status = true;
|
||||
}
|
||||
override trans(): void {
|
||||
if (this.switch_status) {
|
||||
this.status = 1;
|
||||
} else {
|
||||
this.status = 0;
|
||||
}
|
||||
}
|
||||
override trans(): void {
|
||||
if (this.switch_status) {
|
||||
this.status = 1;
|
||||
} else {
|
||||
this.status = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,32 +19,32 @@ import format from 'date-fns/format';
|
||||
import { Apps } from './Apps';
|
||||
|
||||
export class AppsCasDetails extends Apps {
|
||||
service!: String;
|
||||
callbackUrl!: String;
|
||||
casUser!: String;
|
||||
expires!: Number;
|
||||
service!: String;
|
||||
callbackUrl!: String;
|
||||
casUser!: String;
|
||||
expires!: Number;
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
this.expires = 300;
|
||||
this.casUser = 'username';
|
||||
}
|
||||
constructor() {
|
||||
super();
|
||||
this.expires = 300;
|
||||
this.casUser = 'username';
|
||||
}
|
||||
|
||||
override init(data: any): void {
|
||||
Object.assign(this, data);
|
||||
super.init(data);
|
||||
if (this.status == 1) {
|
||||
this.switch_status = true;
|
||||
} else {
|
||||
this.switch_status = false;
|
||||
}
|
||||
override init(data: any): void {
|
||||
Object.assign(this, data);
|
||||
super.init(data);
|
||||
if (this.status == 1) {
|
||||
this.switch_status = true;
|
||||
} else {
|
||||
this.switch_status = false;
|
||||
}
|
||||
}
|
||||
|
||||
override trans(): void {
|
||||
if (this.switch_status) {
|
||||
this.status = 1;
|
||||
} else {
|
||||
this.status = 0;
|
||||
}
|
||||
override trans(): void {
|
||||
if (this.switch_status) {
|
||||
this.status = 1;
|
||||
} else {
|
||||
this.status = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,25 +19,25 @@ import format from 'date-fns/format';
|
||||
import { Apps } from './Apps';
|
||||
|
||||
export class AppsExtendApiDetails extends Apps {
|
||||
constructor() {
|
||||
super();
|
||||
}
|
||||
constructor() {
|
||||
super();
|
||||
}
|
||||
|
||||
override init(data: any): void {
|
||||
Object.assign(this, data);
|
||||
super.init(data);
|
||||
if (this.status == 1) {
|
||||
this.switch_status = true;
|
||||
} else {
|
||||
this.switch_status = false;
|
||||
}
|
||||
override init(data: any): void {
|
||||
Object.assign(this, data);
|
||||
super.init(data);
|
||||
if (this.status == 1) {
|
||||
this.switch_status = true;
|
||||
} else {
|
||||
this.switch_status = false;
|
||||
}
|
||||
}
|
||||
|
||||
override trans(): void {
|
||||
if (this.switch_status) {
|
||||
this.status = 1;
|
||||
} else {
|
||||
this.status = 0;
|
||||
}
|
||||
override trans(): void {
|
||||
if (this.switch_status) {
|
||||
this.status = 1;
|
||||
} else {
|
||||
this.status = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,117 +19,117 @@ import format from 'date-fns/format';
|
||||
import { Apps } from './Apps';
|
||||
|
||||
export class AppsOauth20Details extends Apps {
|
||||
clientId!: String;
|
||||
clientId!: String;
|
||||
|
||||
clientSecret!: String;
|
||||
clientSecret!: String;
|
||||
|
||||
scope!: String;
|
||||
scope!: String;
|
||||
|
||||
resourceIds!: String;
|
||||
resourceIds!: String;
|
||||
|
||||
authorizedGrantTypes!: String;
|
||||
authorizedGrantTypes!: String;
|
||||
|
||||
registeredRedirectUris!: String;
|
||||
registeredRedirectUris!: String;
|
||||
|
||||
authorities!: String;
|
||||
authorities!: String;
|
||||
|
||||
accessTokenValiditySeconds!: String;
|
||||
accessTokenValiditySeconds!: String;
|
||||
|
||||
refreshTokenValiditySeconds!: String;
|
||||
refreshTokenValiditySeconds!: String;
|
||||
|
||||
approvalPrompt!: String;
|
||||
approvalPrompt!: String;
|
||||
|
||||
// for OpenID Connect
|
||||
// for OpenID Connect
|
||||
|
||||
issuer!: String;
|
||||
issuer!: String;
|
||||
|
||||
audience!: String;
|
||||
audience!: String;
|
||||
|
||||
algorithm!: String;
|
||||
algorithm!: String;
|
||||
|
||||
algorithmKey!: String;
|
||||
algorithmKey!: String;
|
||||
|
||||
encryptionMethod!: String;
|
||||
encryptionMethod!: String;
|
||||
|
||||
signature!: String;
|
||||
signature!: String;
|
||||
|
||||
signatureKey!: String;
|
||||
signatureKey!: String;
|
||||
|
||||
subject!: String;
|
||||
subject!: String;
|
||||
|
||||
userInfoResponse!: String;
|
||||
userInfoResponse!: String;
|
||||
|
||||
pkce!: String;
|
||||
pkce!: String;
|
||||
|
||||
select_authorizedGrantTypes!: string[];
|
||||
select_authorizedGrantTypes!: string[];
|
||||
|
||||
select_scope!: string[];
|
||||
select_scope!: string[];
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
this.select_authorizedGrantTypes = ['authorization_code'];
|
||||
this.select_scope = ['read'];
|
||||
this.pkce = 'no';
|
||||
this.approvalPrompt = 'auto';
|
||||
this.accessTokenValiditySeconds = '300';
|
||||
this.refreshTokenValiditySeconds = '300';
|
||||
this.subject = 'username';
|
||||
constructor() {
|
||||
super();
|
||||
this.select_authorizedGrantTypes = ['authorization_code'];
|
||||
this.select_scope = ['read'];
|
||||
this.pkce = 'no';
|
||||
this.approvalPrompt = 'auto';
|
||||
this.accessTokenValiditySeconds = '300';
|
||||
this.refreshTokenValiditySeconds = '300';
|
||||
this.subject = 'username';
|
||||
}
|
||||
|
||||
override init(data: any): void {
|
||||
Object.assign(this, data);
|
||||
super.init(data);
|
||||
if (this.status == 1) {
|
||||
this.switch_status = true;
|
||||
} else {
|
||||
this.switch_status = false;
|
||||
}
|
||||
if (this.approvalPrompt == '') {
|
||||
}
|
||||
this.select_scope = [''];
|
||||
let scopeArray: String[] = `${this.scope},`.split(',');
|
||||
for (let i = 0; i < scopeArray.length; i++) {
|
||||
this.select_scope.push(`${scopeArray[i]}`);
|
||||
}
|
||||
|
||||
override init(data: any): void {
|
||||
Object.assign(this, data);
|
||||
super.init(data);
|
||||
if (this.status == 1) {
|
||||
this.switch_status = true;
|
||||
this.select_authorizedGrantTypes = [''];
|
||||
let authorizedGrantTypesArray = `${this.authorizedGrantTypes},`.split(',');
|
||||
for (let i = 0; i < authorizedGrantTypesArray.length; i++) {
|
||||
this.select_authorizedGrantTypes.push(authorizedGrantTypesArray[i]);
|
||||
}
|
||||
if (this.pkce == null || this.pkce == '') {
|
||||
this.pkce = 'no';
|
||||
}
|
||||
this.pkce = this.pkce.toLowerCase();
|
||||
}
|
||||
|
||||
override trans(): void {
|
||||
if (this.switch_status) {
|
||||
this.status = 1;
|
||||
} else {
|
||||
this.status = 0;
|
||||
}
|
||||
this.scope = '';
|
||||
|
||||
for (let i = 0; i < this.select_scope.length; i++) {
|
||||
if (this.select_scope[i] != '') {
|
||||
if (this.scope === '') {
|
||||
this.scope = this.select_scope[i];
|
||||
} else {
|
||||
this.switch_status = false;
|
||||
this.scope = `${this.scope},${this.select_scope[i]}`;
|
||||
}
|
||||
if (this.approvalPrompt == '') {
|
||||
}
|
||||
this.select_scope = [''];
|
||||
let scopeArray: String[] = `${this.scope},`.split(',');
|
||||
for (let i = 0; i < scopeArray.length; i++) {
|
||||
this.select_scope.push(`${scopeArray[i]}`);
|
||||
}
|
||||
|
||||
this.select_authorizedGrantTypes = [''];
|
||||
let authorizedGrantTypesArray = `${this.authorizedGrantTypes},`.split(',');
|
||||
for (let i = 0; i < authorizedGrantTypesArray.length; i++) {
|
||||
this.select_authorizedGrantTypes.push(authorizedGrantTypesArray[i]);
|
||||
}
|
||||
if (this.pkce == null || this.pkce == '') {
|
||||
this.pkce = 'no';
|
||||
}
|
||||
this.pkce = this.pkce.toLowerCase();
|
||||
}
|
||||
}
|
||||
|
||||
override trans(): void {
|
||||
if (this.switch_status) {
|
||||
this.status = 1;
|
||||
this.authorizedGrantTypes = '';
|
||||
let n = 0;
|
||||
for (let i = 0; i < this.select_authorizedGrantTypes.length; i++) {
|
||||
if (this.select_authorizedGrantTypes[i] != '') {
|
||||
if (this.authorizedGrantTypes === '') {
|
||||
this.authorizedGrantTypes = this.select_authorizedGrantTypes[i];
|
||||
} else {
|
||||
this.status = 0;
|
||||
}
|
||||
this.scope = '';
|
||||
|
||||
for (let i = 0; i < this.select_scope.length; i++) {
|
||||
if (this.select_scope[i] != '') {
|
||||
if (this.scope === '') {
|
||||
this.scope = this.select_scope[i];
|
||||
} else {
|
||||
this.scope = `${this.scope},${this.select_scope[i]}`;
|
||||
}
|
||||
}
|
||||
}
|
||||
this.authorizedGrantTypes = '';
|
||||
let n = 0;
|
||||
for (let i = 0; i < this.select_authorizedGrantTypes.length; i++) {
|
||||
if (this.select_authorizedGrantTypes[i] != '') {
|
||||
if (this.authorizedGrantTypes === '') {
|
||||
this.authorizedGrantTypes = this.select_authorizedGrantTypes[i];
|
||||
} else {
|
||||
this.authorizedGrantTypes = `${this.authorizedGrantTypes},${this.select_authorizedGrantTypes[i]}`;
|
||||
}
|
||||
}
|
||||
this.authorizedGrantTypes = `${this.authorizedGrantTypes},${this.select_authorizedGrantTypes[i]}`;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,36 +19,36 @@ import format from 'date-fns/format';
|
||||
import { Apps } from './Apps';
|
||||
|
||||
export class AppsTokenBasedDetails extends Apps {
|
||||
redirectUri!: String;
|
||||
tokenType!: String;
|
||||
cookieName!: String;
|
||||
algorithm!: String;
|
||||
algorithmKey!: String;
|
||||
expires!: Number;
|
||||
redirectUri!: String;
|
||||
tokenType!: String;
|
||||
cookieName!: String;
|
||||
algorithm!: String;
|
||||
algorithmKey!: String;
|
||||
expires!: Number;
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
this.expires = 300;
|
||||
this.tokenType = 'POST';
|
||||
this.cookieName = 'ltpa_token';
|
||||
this.algorithm = 'AES';
|
||||
}
|
||||
constructor() {
|
||||
super();
|
||||
this.expires = 300;
|
||||
this.tokenType = 'POST';
|
||||
this.cookieName = 'ltpa_token';
|
||||
this.algorithm = 'AES';
|
||||
}
|
||||
|
||||
override init(data: any): void {
|
||||
Object.assign(this, data);
|
||||
super.init(data);
|
||||
if (this.status == 1) {
|
||||
this.switch_status = true;
|
||||
} else {
|
||||
this.switch_status = false;
|
||||
}
|
||||
override init(data: any): void {
|
||||
Object.assign(this, data);
|
||||
super.init(data);
|
||||
if (this.status == 1) {
|
||||
this.switch_status = true;
|
||||
} else {
|
||||
this.switch_status = false;
|
||||
}
|
||||
}
|
||||
|
||||
override trans(): void {
|
||||
if (this.switch_status) {
|
||||
this.status = 1;
|
||||
} else {
|
||||
this.status = 0;
|
||||
}
|
||||
override trans(): void {
|
||||
if (this.switch_status) {
|
||||
this.status = 1;
|
||||
} else {
|
||||
this.status = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,31 +15,31 @@
|
||||
*/
|
||||
|
||||
export class BaseEntity {
|
||||
id!: String;
|
||||
instId!: String;
|
||||
instName!: String;
|
||||
sortIndex!: Number;
|
||||
status!: Number;
|
||||
description!: String;
|
||||
switch_status: boolean = false;
|
||||
str_status!: String;
|
||||
id!: String;
|
||||
instId!: String;
|
||||
instName!: String;
|
||||
sortIndex!: Number;
|
||||
status!: Number;
|
||||
description!: String;
|
||||
switch_status: boolean = false;
|
||||
str_status!: String;
|
||||
|
||||
constructor() {
|
||||
this.status = 1;
|
||||
this.sortIndex = 1;
|
||||
this.switch_status = true;
|
||||
constructor() {
|
||||
this.status = 1;
|
||||
this.sortIndex = 1;
|
||||
this.switch_status = true;
|
||||
}
|
||||
init(data: any): void {
|
||||
Object.assign(this, data);
|
||||
if (this.status == 1) {
|
||||
this.switch_status = true;
|
||||
}
|
||||
init(data: any): void {
|
||||
Object.assign(this, data);
|
||||
if (this.status == 1) {
|
||||
this.switch_status = true;
|
||||
}
|
||||
}
|
||||
trans(): void {
|
||||
if (this.switch_status) {
|
||||
this.status = 1;
|
||||
} else {
|
||||
this.status = 0;
|
||||
}
|
||||
}
|
||||
trans(): void {
|
||||
if (this.switch_status) {
|
||||
this.status = 1;
|
||||
} else {
|
||||
this.status = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,30 +1,29 @@
|
||||
/*
|
||||
* Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
|
||||
*
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
|
||||
import { BaseEntity } from './BaseEntity';
|
||||
|
||||
export class ChangePassword extends BaseEntity {
|
||||
userId!: String;
|
||||
username!: String;
|
||||
email!: String;
|
||||
mobile!: String;
|
||||
displayName!: String;
|
||||
oldPassword!: String;
|
||||
password!: String;
|
||||
confirmPassword!: String;
|
||||
decipherable!: String;
|
||||
userId!: String;
|
||||
username!: String;
|
||||
email!: String;
|
||||
mobile!: String;
|
||||
displayName!: String;
|
||||
oldPassword!: String;
|
||||
password!: String;
|
||||
confirmPassword!: String;
|
||||
decipherable!: String;
|
||||
}
|
||||
|
||||
@@ -19,48 +19,48 @@ import format from 'date-fns/format';
|
||||
import { BaseEntity } from './BaseEntity';
|
||||
|
||||
export class Connectors extends BaseEntity {
|
||||
connName!: String;
|
||||
justInTime!: Number;
|
||||
filters!: String;
|
||||
scheduler!: String;
|
||||
providerUrl!: String;
|
||||
principal!: String;
|
||||
credentials!: String;
|
||||
connName!: String;
|
||||
justInTime!: Number;
|
||||
filters!: String;
|
||||
scheduler!: String;
|
||||
providerUrl!: String;
|
||||
principal!: String;
|
||||
credentials!: String;
|
||||
|
||||
switch_justInTime: boolean = true;
|
||||
switch_justInTime: boolean = true;
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
this.status = 1;
|
||||
this.justInTime = 1;
|
||||
constructor() {
|
||||
super();
|
||||
this.status = 1;
|
||||
this.justInTime = 1;
|
||||
}
|
||||
|
||||
override init(data: any): void {
|
||||
Object.assign(this, data);
|
||||
if (this.status == 1) {
|
||||
this.switch_status = true;
|
||||
} else {
|
||||
this.switch_status = false;
|
||||
}
|
||||
|
||||
override init(data: any): void {
|
||||
Object.assign(this, data);
|
||||
if (this.status == 1) {
|
||||
this.switch_status = true;
|
||||
} else {
|
||||
this.switch_status = false;
|
||||
}
|
||||
if (this.justInTime == 1) {
|
||||
this.switch_justInTime = true;
|
||||
} else {
|
||||
this.switch_justInTime = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (this.justInTime == 1) {
|
||||
this.switch_justInTime = true;
|
||||
} else {
|
||||
this.switch_justInTime = false;
|
||||
}
|
||||
override trans(): void {
|
||||
if (this.switch_status) {
|
||||
this.status = 1;
|
||||
} else {
|
||||
this.status = 0;
|
||||
}
|
||||
|
||||
override trans(): void {
|
||||
if (this.switch_status) {
|
||||
this.status = 1;
|
||||
} else {
|
||||
this.status = 0;
|
||||
}
|
||||
|
||||
if (this.switch_justInTime) {
|
||||
this.justInTime = 1;
|
||||
} else {
|
||||
this.justInTime = 0;
|
||||
}
|
||||
if (this.switch_justInTime) {
|
||||
this.justInTime = 1;
|
||||
} else {
|
||||
this.justInTime = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,19 +1,18 @@
|
||||
/*
|
||||
* Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
|
||||
*
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
|
||||
import { BaseEntity } from './BaseEntity';
|
||||
|
||||
|
||||
@@ -19,9 +19,9 @@ import format from 'date-fns/format';
|
||||
import { BaseEntity } from './BaseEntity';
|
||||
|
||||
export class ExtraAttr {
|
||||
id!: string;
|
||||
attr!: string;
|
||||
type!: string;
|
||||
value!: string;
|
||||
constructor() { }
|
||||
id!: string;
|
||||
attr!: string;
|
||||
type!: string;
|
||||
value!: string;
|
||||
constructor() {}
|
||||
}
|
||||
|
||||
@@ -17,17 +17,17 @@
|
||||
import { BaseEntity } from './BaseEntity';
|
||||
|
||||
export class Institutions extends BaseEntity {
|
||||
name!: String;
|
||||
fullName!: String;
|
||||
contact!: String;
|
||||
email!: String;
|
||||
phone!: String;
|
||||
address!: String;
|
||||
logo!: String;
|
||||
frontTitle!: String;
|
||||
consoleTitle!: String;
|
||||
consoleDomain!: String;
|
||||
domain!: String;
|
||||
captcha!: String;
|
||||
defaultUri!: String;
|
||||
name!: String;
|
||||
fullName!: String;
|
||||
contact!: String;
|
||||
email!: String;
|
||||
phone!: String;
|
||||
address!: String;
|
||||
logo!: String;
|
||||
frontTitle!: String;
|
||||
consoleTitle!: String;
|
||||
consoleDomain!: String;
|
||||
domain!: String;
|
||||
captcha!: String;
|
||||
defaultUri!: String;
|
||||
}
|
||||
|
||||
@@ -1,19 +1,18 @@
|
||||
/*
|
||||
* Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
|
||||
*
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
|
||||
import { BaseEntity } from './BaseEntity';
|
||||
|
||||
|
||||
@@ -1,25 +1,24 @@
|
||||
/*
|
||||
* Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
|
||||
*
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
|
||||
import format from 'date-fns/format';
|
||||
import { NzSafeAny } from 'ng-zorro-antd/core/types';
|
||||
|
||||
export class Message<NzSafeAny> {
|
||||
code: number = 0;
|
||||
message: string = '';
|
||||
data: any;
|
||||
code: number = 0;
|
||||
message: string = '';
|
||||
data: any;
|
||||
}
|
||||
|
||||
@@ -17,45 +17,45 @@
|
||||
import { BaseEntity } from './BaseEntity';
|
||||
|
||||
export class Organizations extends BaseEntity {
|
||||
orgCode!: String;
|
||||
orgName!: String;
|
||||
fullName!: String;
|
||||
parentId!: String;
|
||||
parentCode!: string;
|
||||
parentName!: String;
|
||||
type!: String;
|
||||
codePath!: String;
|
||||
namePath!: String;
|
||||
level!: Number;
|
||||
division!: String;
|
||||
country!: String;
|
||||
region!: String;
|
||||
locality!: String;
|
||||
street!: String;
|
||||
address!: String;
|
||||
contact!: String;
|
||||
postalCode!: String;
|
||||
phone!: String;
|
||||
fax!: String;
|
||||
email!: String;
|
||||
switch_dynamic: boolean = false;
|
||||
orgCode!: String;
|
||||
orgName!: String;
|
||||
fullName!: String;
|
||||
parentId!: String;
|
||||
parentCode!: string;
|
||||
parentName!: String;
|
||||
type!: String;
|
||||
codePath!: String;
|
||||
namePath!: String;
|
||||
level!: Number;
|
||||
division!: String;
|
||||
country!: String;
|
||||
region!: String;
|
||||
locality!: String;
|
||||
street!: String;
|
||||
address!: String;
|
||||
contact!: String;
|
||||
postalCode!: String;
|
||||
phone!: String;
|
||||
fax!: String;
|
||||
email!: String;
|
||||
switch_dynamic: boolean = false;
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
this.status = 1;
|
||||
}
|
||||
constructor() {
|
||||
super();
|
||||
this.status = 1;
|
||||
}
|
||||
|
||||
override init(data: any): void {
|
||||
Object.assign(this, data);
|
||||
if (this.status == 1) {
|
||||
this.switch_status = true;
|
||||
}
|
||||
override init(data: any): void {
|
||||
Object.assign(this, data);
|
||||
if (this.status == 1) {
|
||||
this.switch_status = true;
|
||||
}
|
||||
override trans(): void {
|
||||
if (this.switch_status) {
|
||||
this.status = 1;
|
||||
} else {
|
||||
this.status = 0;
|
||||
}
|
||||
}
|
||||
override trans(): void {
|
||||
if (this.switch_status) {
|
||||
this.status = 1;
|
||||
} else {
|
||||
this.status = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,13 +18,13 @@ import format from 'date-fns/format';
|
||||
import { NzSafeAny } from 'ng-zorro-antd/core/types';
|
||||
|
||||
export class PageResults {
|
||||
page: number = 0;
|
||||
total: number = 0;
|
||||
totalPage: number = 0;
|
||||
records: number = 0;
|
||||
rows: any[] = [];
|
||||
page: number = 0;
|
||||
total: number = 0;
|
||||
totalPage: number = 0;
|
||||
records: number = 0;
|
||||
rows: any[] = [];
|
||||
|
||||
init(data: any): void {
|
||||
Object.assign(this, data);
|
||||
}
|
||||
init(data: any): void {
|
||||
Object.assign(this, data);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,19 +1,18 @@
|
||||
/*
|
||||
* Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
|
||||
*
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
|
||||
import { BaseEntity } from './BaseEntity';
|
||||
|
||||
|
||||
@@ -17,35 +17,35 @@
|
||||
import { BaseEntity } from './BaseEntity';
|
||||
|
||||
export class Resources extends BaseEntity {
|
||||
resourceName!: String;
|
||||
permission!: String;
|
||||
appId!: String;
|
||||
appName!: String;
|
||||
parentId!: String;
|
||||
parentName!: String;
|
||||
resourceType!: String;
|
||||
resourceIcon!: String;
|
||||
resourceStyle!: String;
|
||||
resourceUrl!: String;
|
||||
resourceAction!: String;
|
||||
switch_dynamic: boolean = false;
|
||||
resourceName!: String;
|
||||
permission!: String;
|
||||
appId!: String;
|
||||
appName!: String;
|
||||
parentId!: String;
|
||||
parentName!: String;
|
||||
resourceType!: String;
|
||||
resourceIcon!: String;
|
||||
resourceStyle!: String;
|
||||
resourceUrl!: String;
|
||||
resourceAction!: String;
|
||||
switch_dynamic: boolean = false;
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
this.status = 1;
|
||||
}
|
||||
constructor() {
|
||||
super();
|
||||
this.status = 1;
|
||||
}
|
||||
|
||||
override init(data: any): void {
|
||||
Object.assign(this, data);
|
||||
if (this.status == 1) {
|
||||
this.switch_status = true;
|
||||
}
|
||||
override init(data: any): void {
|
||||
Object.assign(this, data);
|
||||
if (this.status == 1) {
|
||||
this.switch_status = true;
|
||||
}
|
||||
override trans(): void {
|
||||
if (this.switch_status) {
|
||||
this.status = 1;
|
||||
} else {
|
||||
this.status = 0;
|
||||
}
|
||||
}
|
||||
override trans(): void {
|
||||
if (this.switch_status) {
|
||||
this.status = 1;
|
||||
} else {
|
||||
this.status = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,4 +16,4 @@
|
||||
|
||||
import { BaseEntity } from './BaseEntity';
|
||||
|
||||
export class RoleMembers extends BaseEntity { }
|
||||
export class RoleMembers extends BaseEntity {}
|
||||
|
||||
@@ -19,47 +19,47 @@ import format from 'date-fns/format';
|
||||
import { BaseEntity } from './BaseEntity';
|
||||
|
||||
export class Roles extends BaseEntity {
|
||||
roleCode!: String;
|
||||
roleName!: String;
|
||||
category!: String;
|
||||
filters!: String;
|
||||
orgIdsList!: String;
|
||||
resumeTime!: String;
|
||||
suspendTime!: String;
|
||||
isdefault!: String;
|
||||
roleCode!: String;
|
||||
roleName!: String;
|
||||
category!: String;
|
||||
filters!: String;
|
||||
orgIdsList!: String;
|
||||
resumeTime!: String;
|
||||
suspendTime!: String;
|
||||
isdefault!: String;
|
||||
|
||||
picker_resumeTime: Date = new Date(format(new Date(), 'yyyy-MM-dd 00:00:00'));
|
||||
picker_suspendTime: Date = new Date(format(new Date(), 'yyyy-MM-dd 00:00:00'));
|
||||
picker_resumeTime: Date = new Date(format(new Date(), 'yyyy-MM-dd 00:00:00'));
|
||||
picker_suspendTime: Date = new Date(format(new Date(), 'yyyy-MM-dd 00:00:00'));
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
constructor() {
|
||||
super();
|
||||
}
|
||||
|
||||
override init(data: any): void {
|
||||
Object.assign(this, data);
|
||||
if (this.status == 1) {
|
||||
this.switch_status = true;
|
||||
}
|
||||
|
||||
override init(data: any): void {
|
||||
Object.assign(this, data);
|
||||
if (this.status == 1) {
|
||||
this.switch_status = true;
|
||||
}
|
||||
|
||||
if (this.resumeTime != '') {
|
||||
this.picker_resumeTime = new Date(format(new Date(), `yyyy-MM-dd ${this.resumeTime}:00`));
|
||||
}
|
||||
if (this.suspendTime != '') {
|
||||
this.picker_suspendTime = new Date(format(new Date(), `yyyy-MM-dd ${this.suspendTime}:00`));
|
||||
}
|
||||
if (this.resumeTime != '') {
|
||||
this.picker_resumeTime = new Date(format(new Date(), `yyyy-MM-dd ${this.resumeTime}:00`));
|
||||
}
|
||||
override trans(): void {
|
||||
if (this.switch_status) {
|
||||
this.status = 1;
|
||||
} else {
|
||||
this.status = 0;
|
||||
}
|
||||
|
||||
if (this.picker_resumeTime) {
|
||||
this.resumeTime = format(this.picker_resumeTime, 'HH:mm');
|
||||
}
|
||||
if (this.picker_suspendTime) {
|
||||
this.suspendTime = format(this.picker_suspendTime, 'HH:mm');
|
||||
}
|
||||
if (this.suspendTime != '') {
|
||||
this.picker_suspendTime = new Date(format(new Date(), `yyyy-MM-dd ${this.suspendTime}:00`));
|
||||
}
|
||||
}
|
||||
override trans(): void {
|
||||
if (this.switch_status) {
|
||||
this.status = 1;
|
||||
} else {
|
||||
this.status = 0;
|
||||
}
|
||||
|
||||
if (this.picker_resumeTime) {
|
||||
this.resumeTime = format(this.picker_resumeTime, 'HH:mm');
|
||||
}
|
||||
if (this.picker_suspendTime) {
|
||||
this.suspendTime = format(this.picker_suspendTime, 'HH:mm');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,19 +1,18 @@
|
||||
/*
|
||||
* Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
|
||||
*
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
|
||||
import { BaseEntity } from './BaseEntity';
|
||||
|
||||
|
||||
@@ -1,84 +1,83 @@
|
||||
/*
|
||||
* Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
|
||||
*
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
|
||||
import format from 'date-fns/format';
|
||||
|
||||
import { BaseEntity } from './BaseEntity';
|
||||
|
||||
export class Synchronizers extends BaseEntity {
|
||||
name!: String;
|
||||
filters!: String;
|
||||
sourceType!: String;
|
||||
service!: String;
|
||||
resumeTime!: String;
|
||||
suspendTime!: String;
|
||||
scheduler!: String;
|
||||
syncStartTime!: Number;
|
||||
providerUrl!: String;
|
||||
driverClass!: String;
|
||||
principal!: String;
|
||||
credentials!: String;
|
||||
sslSwitch!: Number;
|
||||
basedn!: String;
|
||||
msadDomain!: String;
|
||||
trustStore!: String;
|
||||
trustStorePassword!: String;
|
||||
switch_sslSwitch: boolean = false;
|
||||
picker_resumeTime: Date = new Date(format(new Date(), 'yyyy-MM-dd 00:00:00'));
|
||||
picker_suspendTime: Date = new Date(format(new Date(), 'yyyy-MM-dd 00:00:00'));
|
||||
name!: String;
|
||||
filters!: String;
|
||||
sourceType!: String;
|
||||
service!: String;
|
||||
resumeTime!: String;
|
||||
suspendTime!: String;
|
||||
scheduler!: String;
|
||||
syncStartTime!: Number;
|
||||
providerUrl!: String;
|
||||
driverClass!: String;
|
||||
principal!: String;
|
||||
credentials!: String;
|
||||
sslSwitch!: Number;
|
||||
basedn!: String;
|
||||
msadDomain!: String;
|
||||
trustStore!: String;
|
||||
trustStorePassword!: String;
|
||||
switch_sslSwitch: boolean = false;
|
||||
picker_resumeTime: Date = new Date(format(new Date(), 'yyyy-MM-dd 00:00:00'));
|
||||
picker_suspendTime: Date = new Date(format(new Date(), 'yyyy-MM-dd 00:00:00'));
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
this.status = 1;
|
||||
this.sourceType != 'API';
|
||||
}
|
||||
constructor() {
|
||||
super();
|
||||
this.status = 1;
|
||||
this.sourceType != 'API';
|
||||
}
|
||||
|
||||
override init(data: any): void {
|
||||
Object.assign(this, data);
|
||||
if (this.status == 1) {
|
||||
this.switch_status = true;
|
||||
}
|
||||
if (this.sslSwitch == 1) {
|
||||
this.switch_sslSwitch = true;
|
||||
}
|
||||
if (this.resumeTime != '') {
|
||||
this.picker_resumeTime = new Date(format(new Date(), `yyyy-MM-dd ${this.resumeTime}:00`));
|
||||
}
|
||||
if (this.suspendTime != '') {
|
||||
this.picker_suspendTime = new Date(format(new Date(), `yyyy-MM-dd ${this.suspendTime}:00`));
|
||||
}
|
||||
override init(data: any): void {
|
||||
Object.assign(this, data);
|
||||
if (this.status == 1) {
|
||||
this.switch_status = true;
|
||||
}
|
||||
if (this.sslSwitch == 1) {
|
||||
this.switch_sslSwitch = true;
|
||||
}
|
||||
if (this.resumeTime != '') {
|
||||
this.picker_resumeTime = new Date(format(new Date(), `yyyy-MM-dd ${this.resumeTime}:00`));
|
||||
}
|
||||
if (this.suspendTime != '') {
|
||||
this.picker_suspendTime = new Date(format(new Date(), `yyyy-MM-dd ${this.suspendTime}:00`));
|
||||
}
|
||||
}
|
||||
|
||||
override trans(): void {
|
||||
if (this.switch_status) {
|
||||
this.status = 1;
|
||||
} else {
|
||||
this.status = 0;
|
||||
}
|
||||
if (this.switch_sslSwitch) {
|
||||
this.sslSwitch = 1;
|
||||
} else {
|
||||
this.sslSwitch = 0;
|
||||
}
|
||||
if (this.picker_resumeTime) {
|
||||
this.resumeTime = format(this.picker_resumeTime, 'HH:mm');
|
||||
}
|
||||
if (this.picker_suspendTime) {
|
||||
this.suspendTime = format(this.picker_suspendTime, 'HH:mm');
|
||||
}
|
||||
override trans(): void {
|
||||
if (this.switch_status) {
|
||||
this.status = 1;
|
||||
} else {
|
||||
this.status = 0;
|
||||
}
|
||||
if (this.switch_sslSwitch) {
|
||||
this.sslSwitch = 1;
|
||||
} else {
|
||||
this.sslSwitch = 0;
|
||||
}
|
||||
if (this.picker_resumeTime) {
|
||||
this.resumeTime = format(this.picker_resumeTime, 'HH:mm');
|
||||
}
|
||||
if (this.picker_suspendTime) {
|
||||
this.suspendTime = format(this.picker_suspendTime, 'HH:mm');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,48 +16,48 @@
|
||||
|
||||
import { NzFormatEmitEvent, NzTreeNode, NzTreeNodeOptions } from 'ng-zorro-antd/tree';
|
||||
export class TreeNodes {
|
||||
activated!: NzTreeNode;
|
||||
request!: any[];
|
||||
nodes!: any[];
|
||||
checkable!: boolean;
|
||||
checkedKeys!: any[];
|
||||
selectedKeys!: any[];
|
||||
_rootNode!: any;
|
||||
constructor(checkable: boolean) {
|
||||
this.checkable = checkable;
|
||||
this.checkedKeys = [];
|
||||
this.selectedKeys = [];
|
||||
}
|
||||
activated!: NzTreeNode;
|
||||
request!: any[];
|
||||
nodes!: any[];
|
||||
checkable!: boolean;
|
||||
checkedKeys!: any[];
|
||||
selectedKeys!: any[];
|
||||
_rootNode!: any;
|
||||
constructor(checkable: boolean) {
|
||||
this.checkable = checkable;
|
||||
this.checkedKeys = [];
|
||||
this.selectedKeys = [];
|
||||
}
|
||||
|
||||
init(treeAttrs: any) {
|
||||
let nodeType = treeAttrs.rootNode.attrs && treeAttrs.rootNode.attrs.type ? treeAttrs.rootNode.attrs.type : '';
|
||||
this._rootNode = {
|
||||
title: treeAttrs.rootNode.title,
|
||||
key: treeAttrs.rootNode.key,
|
||||
type: nodeType,
|
||||
expanded: true,
|
||||
isLeaf: false
|
||||
};
|
||||
this.request = treeAttrs.nodes;
|
||||
}
|
||||
init(treeAttrs: any) {
|
||||
let nodeType = treeAttrs.rootNode.attrs && treeAttrs.rootNode.attrs.type ? treeAttrs.rootNode.attrs.type : '';
|
||||
this._rootNode = {
|
||||
title: treeAttrs.rootNode.title,
|
||||
key: treeAttrs.rootNode.key,
|
||||
type: nodeType,
|
||||
expanded: true,
|
||||
isLeaf: false
|
||||
};
|
||||
this.request = treeAttrs.nodes;
|
||||
}
|
||||
|
||||
build(): any[] {
|
||||
return this.buildTree(this._rootNode);
|
||||
}
|
||||
build(): any[] {
|
||||
return this.buildTree(this._rootNode);
|
||||
}
|
||||
|
||||
buildTree(rootNode: any): any[] {
|
||||
let treeNodes: any[] = [];
|
||||
for (let node of this.request) {
|
||||
if (node.key != rootNode.key && node.parentKey == rootNode.key) {
|
||||
let nodeType = node.attrs && node.attrs.type ? node.attrs.type : '';
|
||||
let treeNode = { title: node.title, key: node.key, type: nodeType, expanded: false, isLeaf: true };
|
||||
this.buildTree(treeNode);
|
||||
treeNodes.push(treeNode);
|
||||
//console.log(treeNode);
|
||||
rootNode.isLeaf = false;
|
||||
}
|
||||
}
|
||||
rootNode.children = treeNodes;
|
||||
return [rootNode];
|
||||
buildTree(rootNode: any): any[] {
|
||||
let treeNodes: any[] = [];
|
||||
for (let node of this.request) {
|
||||
if (node.key != rootNode.key && node.parentKey == rootNode.key) {
|
||||
let nodeType = node.attrs && node.attrs.type ? node.attrs.type : '';
|
||||
let treeNode = { title: node.title, key: node.key, type: nodeType, expanded: false, isLeaf: true };
|
||||
this.buildTree(treeNode);
|
||||
treeNodes.push(treeNode);
|
||||
//console.log(treeNode);
|
||||
rootNode.isLeaf = false;
|
||||
}
|
||||
}
|
||||
rootNode.children = treeNodes;
|
||||
return [rootNode];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,173 +17,173 @@
|
||||
import { BaseEntity } from './BaseEntity';
|
||||
|
||||
export class Users extends BaseEntity {
|
||||
username!: String;
|
||||
password!: String;
|
||||
decipherable!: String;
|
||||
sharedSecret!: String;
|
||||
sharedCounter!: String;
|
||||
/**
|
||||
* "Employee", "Supplier","Dealer","Contractor",Partner,Customer "Intern",
|
||||
* "Temp", "External", and "Unknown" .
|
||||
*/
|
||||
userType!: String;
|
||||
username!: String;
|
||||
password!: String;
|
||||
decipherable!: String;
|
||||
sharedSecret!: String;
|
||||
sharedCounter!: String;
|
||||
/**
|
||||
* "Employee", "Supplier","Dealer","Contractor",Partner,Customer "Intern",
|
||||
* "Temp", "External", and "Unknown" .
|
||||
*/
|
||||
userType!: String;
|
||||
|
||||
userState!: String;
|
||||
windowsAccount!: String;
|
||||
userState!: String;
|
||||
windowsAccount!: String;
|
||||
|
||||
// for user name
|
||||
displayName!: String;
|
||||
nickName!: String;
|
||||
nameZhSpell!: String;
|
||||
nameZhShortSpell!: String;
|
||||
givenName!: String;
|
||||
middleName!: String;
|
||||
familyName!: String;
|
||||
honorificPrefix!: String;
|
||||
honorificSuffix!: String;
|
||||
formattedName!: String;
|
||||
// for user name
|
||||
displayName!: String;
|
||||
nickName!: String;
|
||||
nameZhSpell!: String;
|
||||
nameZhShortSpell!: String;
|
||||
givenName!: String;
|
||||
middleName!: String;
|
||||
familyName!: String;
|
||||
honorificPrefix!: String;
|
||||
honorificSuffix!: String;
|
||||
formattedName!: String;
|
||||
|
||||
married!: Number;
|
||||
gender!: Number;
|
||||
birthDate!: String;
|
||||
picture!: String;
|
||||
pictureId!: String;
|
||||
pictureBase64!: string;
|
||||
idType!: Number;
|
||||
idCardNo!: String;
|
||||
webSite!: String;
|
||||
startWorkDate!: String;
|
||||
married!: Number;
|
||||
gender!: Number;
|
||||
birthDate!: String;
|
||||
picture!: String;
|
||||
pictureId!: String;
|
||||
pictureBase64!: string;
|
||||
idType!: Number;
|
||||
idCardNo!: String;
|
||||
webSite!: String;
|
||||
startWorkDate!: String;
|
||||
|
||||
// for security
|
||||
authnType!: String;
|
||||
email!: String;
|
||||
emailVerified!: Number;
|
||||
mobile!: String;
|
||||
mobileVerified!: String;
|
||||
passwordQuestion!: String;
|
||||
passwordAnswer!: String;
|
||||
// for security
|
||||
authnType!: String;
|
||||
email!: String;
|
||||
emailVerified!: Number;
|
||||
mobile!: String;
|
||||
mobileVerified!: String;
|
||||
passwordQuestion!: String;
|
||||
passwordAnswer!: String;
|
||||
|
||||
// for apps login protected
|
||||
appLoginAuthnType!: String;
|
||||
appLoginPassword!: String;
|
||||
protectedApps!: String;
|
||||
protectedAppsMap!: String;
|
||||
// for apps login protected
|
||||
appLoginAuthnType!: String;
|
||||
appLoginPassword!: String;
|
||||
protectedApps!: String;
|
||||
protectedAppsMap!: String;
|
||||
|
||||
passwordLastSetTime!: String;
|
||||
badPasswordCount!: Number;
|
||||
badPasswordTime!: String;
|
||||
unLockTime!: String;
|
||||
isLocked!: Number;
|
||||
lastLoginTime!: String;
|
||||
lastLoginIp!: String;
|
||||
lastLogoffTime!: String;
|
||||
passwordSetType!: Number;
|
||||
loginCount!: Number;
|
||||
regionHistory!: String;
|
||||
passwordHistory!: String;
|
||||
passwordLastSetTime!: String;
|
||||
badPasswordCount!: Number;
|
||||
badPasswordTime!: String;
|
||||
unLockTime!: String;
|
||||
isLocked!: Number;
|
||||
lastLoginTime!: String;
|
||||
lastLoginIp!: String;
|
||||
lastLogoffTime!: String;
|
||||
passwordSetType!: Number;
|
||||
loginCount!: Number;
|
||||
regionHistory!: String;
|
||||
passwordHistory!: String;
|
||||
|
||||
locale!: String;
|
||||
timeZone!: String;
|
||||
preferredLanguage!: String;
|
||||
locale!: String;
|
||||
timeZone!: String;
|
||||
preferredLanguage!: String;
|
||||
|
||||
// for work
|
||||
workCountry!: String;
|
||||
workRegion!: String; // province;
|
||||
workLocality!: String; // city;
|
||||
workStreetAddress!: String;
|
||||
workAddressFormatted!: String;
|
||||
workEmail!: String;
|
||||
workPhoneNumber!: String;
|
||||
workPostalCode!: String;
|
||||
workFax!: String;
|
||||
workOfficeName!: String;
|
||||
// for home
|
||||
homeCountry!: String;
|
||||
homeRegion!: String; // province;
|
||||
homeLocality!: String; // city;
|
||||
homeStreetAddress!: String;
|
||||
homeAddressFormatted!: String;
|
||||
homeEmail!: String;
|
||||
homePhoneNumber!: String;
|
||||
homePostalCode!: String;
|
||||
homeFax!: String;
|
||||
// for company
|
||||
employeeNumber!: String;
|
||||
costCenter!: String;
|
||||
organization!: String;
|
||||
division!: String;
|
||||
departmentId!: String;
|
||||
department!: String;
|
||||
jobTitle!: String;
|
||||
jobLevel!: String;
|
||||
managerId!: String;
|
||||
manager!: String;
|
||||
assistantId!: String;
|
||||
assistant!: String;
|
||||
entryDate!: String;
|
||||
quitDate!: String;
|
||||
// for work
|
||||
workCountry!: String;
|
||||
workRegion!: String; // province;
|
||||
workLocality!: String; // city;
|
||||
workStreetAddress!: String;
|
||||
workAddressFormatted!: String;
|
||||
workEmail!: String;
|
||||
workPhoneNumber!: String;
|
||||
workPostalCode!: String;
|
||||
workFax!: String;
|
||||
workOfficeName!: String;
|
||||
// for home
|
||||
homeCountry!: String;
|
||||
homeRegion!: String; // province;
|
||||
homeLocality!: String; // city;
|
||||
homeStreetAddress!: String;
|
||||
homeAddressFormatted!: String;
|
||||
homeEmail!: String;
|
||||
homePhoneNumber!: String;
|
||||
homePostalCode!: String;
|
||||
homeFax!: String;
|
||||
// for company
|
||||
employeeNumber!: String;
|
||||
costCenter!: String;
|
||||
organization!: String;
|
||||
division!: String;
|
||||
departmentId!: String;
|
||||
department!: String;
|
||||
jobTitle!: String;
|
||||
jobLevel!: String;
|
||||
managerId!: String;
|
||||
manager!: String;
|
||||
assistantId!: String;
|
||||
assistant!: String;
|
||||
entryDate!: String;
|
||||
quitDate!: String;
|
||||
|
||||
// for social contact
|
||||
defineIm!: String;
|
||||
theme!: String;
|
||||
/*
|
||||
* for extended Attribute from userType extraAttribute for database
|
||||
* extraAttributeName & extraAttributeValue for page submit
|
||||
*/
|
||||
//protected String extraAttribute;
|
||||
//protected String extraAttributeName;
|
||||
//protected String extraAttributeValue;
|
||||
//@JsonIgnore
|
||||
//protected HashMap<String, String> extraAttributeMap;
|
||||
// for social contact
|
||||
defineIm!: String;
|
||||
theme!: String;
|
||||
/*
|
||||
* for extended Attribute from userType extraAttribute for database
|
||||
* extraAttributeName & extraAttributeValue for page submit
|
||||
*/
|
||||
//protected String extraAttribute;
|
||||
//protected String extraAttributeName;
|
||||
//protected String extraAttributeValue;
|
||||
//@JsonIgnore
|
||||
//protected HashMap<String, String> extraAttributeMap;
|
||||
|
||||
online!: Number;
|
||||
online!: Number;
|
||||
|
||||
gridList!: Number;
|
||||
switch_dynamic: boolean = false;
|
||||
gridList!: Number;
|
||||
switch_dynamic: boolean = false;
|
||||
|
||||
gender_select!: String;
|
||||
str_married!: String;
|
||||
str_idType!: String;
|
||||
constructor() {
|
||||
super();
|
||||
this.status = 1;
|
||||
this.sortIndex = 1;
|
||||
this.gender = 1;
|
||||
this.userType = 'EMPLOYEE';
|
||||
this.userState = 'RESIDENT';
|
||||
this.gender_select = '1';
|
||||
this.str_married = '0';
|
||||
this.str_idType = '0';
|
||||
gender_select!: String;
|
||||
str_married!: String;
|
||||
str_idType!: String;
|
||||
constructor() {
|
||||
super();
|
||||
this.status = 1;
|
||||
this.sortIndex = 1;
|
||||
this.gender = 1;
|
||||
this.userType = 'EMPLOYEE';
|
||||
this.userState = 'RESIDENT';
|
||||
this.gender_select = '1';
|
||||
this.str_married = '0';
|
||||
this.str_idType = '0';
|
||||
}
|
||||
|
||||
override init(data: any): void {
|
||||
Object.assign(this, data);
|
||||
if (this.status == 1) {
|
||||
this.switch_status = true;
|
||||
}
|
||||
if (this.gender == 1) {
|
||||
this.gender_select = '1';
|
||||
} else {
|
||||
this.gender_select = '2';
|
||||
}
|
||||
this.str_status = `${this.status}`;
|
||||
this.str_married = `${this.married}`;
|
||||
this.str_idType = `${this.idType}`;
|
||||
}
|
||||
override trans(): void {
|
||||
if (this.switch_status) {
|
||||
this.status = 1;
|
||||
} else {
|
||||
this.status = 0;
|
||||
}
|
||||
|
||||
override init(data: any): void {
|
||||
Object.assign(this, data);
|
||||
if (this.status == 1) {
|
||||
this.switch_status = true;
|
||||
}
|
||||
if (this.gender == 1) {
|
||||
this.gender_select = '1';
|
||||
} else {
|
||||
this.gender_select = '2';
|
||||
}
|
||||
this.str_status = `${this.status}`;
|
||||
this.str_married = `${this.married}`;
|
||||
this.str_idType = `${this.idType}`;
|
||||
}
|
||||
override trans(): void {
|
||||
if (this.switch_status) {
|
||||
this.status = 1;
|
||||
} else {
|
||||
this.status = 0;
|
||||
}
|
||||
|
||||
if (this.gender_select == '1') {
|
||||
this.gender = 1;
|
||||
} else {
|
||||
this.gender = 2;
|
||||
}
|
||||
this.status = Number.parseInt(`${this.str_status}`);
|
||||
this.married = Number.parseInt(`${this.str_married}`);
|
||||
this.idType = Number.parseInt(`${this.str_idType}`);
|
||||
if (this.gender_select == '1') {
|
||||
this.gender = 1;
|
||||
} else {
|
||||
this.gender = 2;
|
||||
}
|
||||
this.status = Number.parseInt(`${this.str_status}`);
|
||||
this.married = Number.parseInt(`${this.str_married}`);
|
||||
this.idType = Number.parseInt(`${this.str_idType}`);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,19 +1,18 @@
|
||||
/*
|
||||
* Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
|
||||
*
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
|
||||
/* eslint-disable import/order */
|
||||
import { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';
|
||||
|
||||
@@ -154,5 +154,5 @@ export class LayoutBasicComponent implements OnInit {
|
||||
}
|
||||
}
|
||||
|
||||
constructor(private settingsService: SettingsService, private authnService: AuthnService) { }
|
||||
constructor(private settingsService: SettingsService, private authnService: AuthnService) {}
|
||||
}
|
||||
|
||||
@@ -1,19 +1,18 @@
|
||||
/*
|
||||
* Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
|
||||
*
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
|
||||
import { ChangeDetectionStrategy, Component, HostListener } from '@angular/core';
|
||||
import { NzMessageService } from 'ng-zorro-antd/message';
|
||||
|
||||
@@ -1,19 +1,18 @@
|
||||
/*
|
||||
* Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
|
||||
*
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
|
||||
import { ChangeDetectionStrategy, Component, HostListener } from '@angular/core';
|
||||
import screenfull from 'screenfull';
|
||||
|
||||
@@ -1,19 +1,18 @@
|
||||
/*
|
||||
* Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
|
||||
*
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
|
||||
import { DOCUMENT } from '@angular/common';
|
||||
import { ChangeDetectionStrategy, Component, Inject, Input } from '@angular/core';
|
||||
|
||||
@@ -1,19 +1,18 @@
|
||||
/*
|
||||
* Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
|
||||
*
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
|
||||
import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
|
||||
|
||||
|
||||
@@ -1,19 +1,18 @@
|
||||
/*
|
||||
* Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
|
||||
*
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
|
||||
import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
|
||||
import { NoticeIconList, NoticeIconSelect, NoticeItem } from '@delon/abc/notice-icon';
|
||||
|
||||
@@ -1,19 +1,18 @@
|
||||
/*
|
||||
* Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
|
||||
*
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
|
||||
import { ChangeDetectionStrategy, Component, HostListener } from '@angular/core';
|
||||
import { RTLService } from '@delon/theme';
|
||||
|
||||
@@ -1,19 +1,18 @@
|
||||
/*
|
||||
* Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
|
||||
*
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
|
||||
import {
|
||||
AfterViewInit,
|
||||
|
||||
@@ -1,19 +1,18 @@
|
||||
/*
|
||||
* Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
|
||||
*
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
|
||||
import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
|
||||
|
||||
|
||||
@@ -81,7 +81,7 @@ export class HeaderUserComponent {
|
||||
private router: Router,
|
||||
private authnService: AuthnService,
|
||||
@Inject(DA_SERVICE_TOKEN) private tokenService: ITokenService
|
||||
) { }
|
||||
) {}
|
||||
|
||||
logout(): void {
|
||||
this.authnService
|
||||
|
||||
@@ -1,19 +1,18 @@
|
||||
/*
|
||||
* Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
|
||||
*
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
|
||||
import { Component } from '@angular/core';
|
||||
|
||||
|
||||
@@ -1,19 +1,18 @@
|
||||
/*
|
||||
* Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
|
||||
*
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { NgModule } from '@angular/core';
|
||||
@@ -23,7 +22,6 @@ import { GlobalFooterModule } from '@delon/abc/global-footer';
|
||||
import { NoticeIconModule } from '@delon/abc/notice-icon';
|
||||
import { AlainThemeModule } from '@delon/theme';
|
||||
import { SettingDrawerModule } from '@delon/theme/setting-drawer';
|
||||
|
||||
//import { ThemeBtnModule } from '@delon/theme/theme-btn';
|
||||
import { NzAutocompleteModule } from 'ng-zorro-antd/auto-complete';
|
||||
import { NzAvatarModule } from 'ng-zorro-antd/avatar';
|
||||
@@ -94,4 +92,4 @@ const PASSPORT = [LayoutPassportComponent];
|
||||
declarations: [...COMPONENTS, ...HEADERCOMPONENTS, ...PASSPORT],
|
||||
exports: [...COMPONENTS, ...PASSPORT]
|
||||
})
|
||||
export class LayoutModule { }
|
||||
export class LayoutModule {}
|
||||
|
||||
@@ -36,4 +36,4 @@
|
||||
</global-footer>
|
||||
</div>
|
||||
</div>
|
||||
<theme-btn></theme-btn>
|
||||
<theme-btn></theme-btn>
|
||||
|
||||
@@ -40,7 +40,7 @@ export class LayoutPassportComponent implements OnInit {
|
||||
}
|
||||
];
|
||||
|
||||
constructor(@Inject(DA_SERVICE_TOKEN) private tokenService: ITokenService, private authnService: AuthnService) { }
|
||||
constructor(@Inject(DA_SERVICE_TOKEN) private tokenService: ITokenService, private authnService: AuthnService) {}
|
||||
|
||||
ngOnInit(): void {
|
||||
this.inst = this.authnService.getInst();
|
||||
|
||||
@@ -66,4 +66,4 @@ const COMPONENTS = [
|
||||
imports: [NzIconModule, SharedModule, CommonModule, RouterModule.forChild(routes)],
|
||||
exports: [RouterModule]
|
||||
})
|
||||
export class AccessModule { }
|
||||
export class AccessModule {}
|
||||
|
||||
@@ -6,32 +6,47 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label nzFor="appName">{{ 'mxk.apps.name' | i18n }}</nz-form-label>
|
||||
<nz-form-control>
|
||||
<input nz-input [(ngModel)]="query.params.appName" [ngModelOptions]="{ standalone: true }" name="appName"
|
||||
placeholder="" id="appName" />
|
||||
<input
|
||||
nz-input
|
||||
[(ngModel)]="query.params.appName"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
name="appName"
|
||||
placeholder=""
|
||||
id="appName"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
|
||||
<div nz-col [nzSpan]="query.expandForm ? 24 : 10" [class.text-right]="query.expandForm">
|
||||
<button nz-button type="submit" [nzType]="'primary'" [nzLoading]="query.submitLoading">{{ 'mxk.text.query' |
|
||||
i18n }}</button>
|
||||
<button nz-button type="reset" (click)="onReset()" class="mx-sm" style="display: none">{{ 'mxk.text.reset' |
|
||||
i18n }}</button>
|
||||
<button nz-button type="submit" [nzType]="'primary'" [nzLoading]="query.submitLoading">{{ 'mxk.text.query' | i18n }}</button>
|
||||
<button nz-button type="reset" (click)="onReset()" class="mx-sm" style="display: none">{{ 'mxk.text.reset' | i18n }}</button>
|
||||
<button nz-button (click)="query.expandForm = !query.expandForm" class="mx-sm" style="display: none">
|
||||
{{ query.expandForm ? ('mxk.text.collapse' | i18n) : ('mxk.text.expand' | i18n) }}</button>
|
||||
{{ query.expandForm ? ('mxk.text.collapse' | i18n) : ('mxk.text.expand' | i18n) }}</button
|
||||
>
|
||||
<button nz-button nzType="primary" (click)="onSubmit($event)">{{ 'mxk.text.confirm' | i18n }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<nz-table #dynamicTable nzTableLayout="auto" nzBordered nzShowSizeChanger [nzData]="query.results.rows"
|
||||
[nzFrontPagination]="false" [nzTotal]="query.results.records" [nzPageSizeOptions]="query.params.pageSizeOptions"
|
||||
[nzPageSize]="query.params.pageSize" [nzPageIndex]="query.params.pageNumber" [nzLoading]="this.query.tableLoading"
|
||||
(nzQueryParams)="onQueryParamsChange($event)" nzWidth="100%">
|
||||
<nz-table
|
||||
#dynamicTable
|
||||
nzTableLayout="auto"
|
||||
nzBordered
|
||||
nzShowSizeChanger
|
||||
[nzData]="query.results.rows"
|
||||
[nzFrontPagination]="false"
|
||||
[nzTotal]="query.results.records"
|
||||
[nzPageSizeOptions]="query.params.pageSizeOptions"
|
||||
[nzPageSize]="query.params.pageSize"
|
||||
[nzPageIndex]="query.params.pageNumber"
|
||||
[nzLoading]="this.query.tableLoading"
|
||||
(nzQueryParams)="onQueryParamsChange($event)"
|
||||
nzWidth="100%"
|
||||
>
|
||||
<thead>
|
||||
<tr>
|
||||
<th [nzChecked]="query.checked" [nzIndeterminate]="query.indeterminate"
|
||||
(nzCheckedChange)="onTableAllChecked($event)"></th>
|
||||
<th [nzChecked]="query.checked" [nzIndeterminate]="query.indeterminate" (nzCheckedChange)="onTableAllChecked($event)"></th>
|
||||
<th nzAlign="center" style="display: none">Id</th>
|
||||
<th nzAlign="center">{{ 'mxk.apps.icon' | i18n }}</th>
|
||||
<th nzAlign="center">{{ 'mxk.apps.name' | i18n }}</th>
|
||||
@@ -40,8 +55,11 @@
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr *ngFor="let data of query.results.rows">
|
||||
<td [nzChecked]="query.tableCheckedId.has(data.id)" [nzDisabled]="data.disabled"
|
||||
(nzCheckedChange)="onTableItemChecked(data.id, $event)"></td>
|
||||
<td
|
||||
[nzChecked]="query.tableCheckedId.has(data.id)"
|
||||
[nzDisabled]="data.disabled"
|
||||
(nzCheckedChange)="onTableItemChecked(data.id, $event)"
|
||||
></td>
|
||||
<td nzAlign="center"><img height="30" border="0px" src="{{ data.iconBase64 }}" /></td>
|
||||
<td nzAlign="left"> {{ data.appName }}</td>
|
||||
<td nzAlign="left">
|
||||
@@ -81,4 +99,4 @@
|
||||
<div *nzModalFooter style="display: none">
|
||||
<button nz-button nzType="default" (click)="onClose($event)">{{ 'mxk.text.close' | i18n }}</button>
|
||||
<button nz-button nzType="primary" (click)="onSubmit($event)">{{ 'mxk.text.submit' | i18n }}</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -59,30 +59,30 @@ export class PermissionsEditerComponent implements OnInit {
|
||||
indeterminate: boolean;
|
||||
checked: boolean;
|
||||
} = {
|
||||
params: {
|
||||
appName: '',
|
||||
displayName: '',
|
||||
username: '',
|
||||
roleId: '',
|
||||
startDate: '',
|
||||
endDate: '',
|
||||
startDatePicker: addDays(new Date(), -30),
|
||||
endDatePicker: new Date(),
|
||||
pageSize: 5,
|
||||
pageNumber: 1,
|
||||
pageSizeOptions: [5, 15, 50]
|
||||
},
|
||||
results: {
|
||||
records: 0,
|
||||
rows: []
|
||||
},
|
||||
expandForm: false,
|
||||
submitLoading: false,
|
||||
tableLoading: false,
|
||||
tableCheckedId: new Set<String>(),
|
||||
indeterminate: false,
|
||||
checked: false
|
||||
};
|
||||
params: {
|
||||
appName: '',
|
||||
displayName: '',
|
||||
username: '',
|
||||
roleId: '',
|
||||
startDate: '',
|
||||
endDate: '',
|
||||
startDatePicker: addDays(new Date(), -30),
|
||||
endDatePicker: new Date(),
|
||||
pageSize: 5,
|
||||
pageNumber: 1,
|
||||
pageSizeOptions: [5, 15, 50]
|
||||
},
|
||||
results: {
|
||||
records: 0,
|
||||
rows: []
|
||||
},
|
||||
expandForm: false,
|
||||
submitLoading: false,
|
||||
tableLoading: false,
|
||||
tableCheckedId: new Set<String>(),
|
||||
indeterminate: false,
|
||||
checked: false
|
||||
};
|
||||
|
||||
constructor(
|
||||
private modalRef: NzModalRef,
|
||||
@@ -92,7 +92,7 @@ export class PermissionsEditerComponent implements OnInit {
|
||||
private msg: NzMessageService,
|
||||
@Inject(ALAIN_I18N_TOKEN) private i18n: I18NService,
|
||||
private cdr: ChangeDetectorRef
|
||||
) { }
|
||||
) {}
|
||||
|
||||
ngOnInit(): void {
|
||||
if (this.roleId) {
|
||||
@@ -111,7 +111,7 @@ export class PermissionsEditerComponent implements OnInit {
|
||||
this.fetch();
|
||||
}
|
||||
|
||||
onReset(): void { }
|
||||
onReset(): void {}
|
||||
|
||||
fetch(): void {
|
||||
this.query.submitLoading = true;
|
||||
|
||||
@@ -8,12 +8,18 @@
|
||||
<nz-form-label nzFor="roleName">{{ 'mxk.roles.name' | i18n }}</nz-form-label>
|
||||
<nz-form-control>
|
||||
<nz-input-group nzSearch [nzAddOnAfter]="suffixButton">
|
||||
<input nz-input [(ngModel)]="query.params.roleName" [ngModelOptions]="{ standalone: true }"
|
||||
name="roleName" readonly placeholder="" id="roleName" />
|
||||
<input
|
||||
nz-input
|
||||
[(ngModel)]="query.params.roleName"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
name="roleName"
|
||||
readonly
|
||||
placeholder=""
|
||||
id="roleName"
|
||||
/>
|
||||
</nz-input-group>
|
||||
<ng-template #suffixButton>
|
||||
<button nz-button nzType="primary" (click)="onSelect($event)" nzSearch>{{ 'mxk.text.select' | i18n
|
||||
}}</button>
|
||||
<button nz-button nzType="primary" (click)="onSelect($event)" nzSearch>{{ 'mxk.text.select' | i18n }}</button>
|
||||
</ng-template>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
@@ -22,18 +28,23 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label nzFor="name">{{ 'mxk.apps.name' | i18n }}</nz-form-label>
|
||||
<nz-form-control>
|
||||
<input nz-input [(ngModel)]="query.params.appName" [ngModelOptions]="{ standalone: true }" name="appName"
|
||||
placeholder="" id="appName" />
|
||||
<input
|
||||
nz-input
|
||||
[(ngModel)]="query.params.appName"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
name="appName"
|
||||
placeholder=""
|
||||
id="appName"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-col [nzSpan]="query.expandForm ? 24 : 4" [class.text-right]="query.expandForm">
|
||||
<button nz-button type="submit" [nzType]="'primary'" [nzLoading]="query.submitLoading">{{ 'mxk.text.query' |
|
||||
i18n }}</button>
|
||||
<button nz-button type="reset" (click)="onReset()" class="mx-sm" style="display: none">{{ 'mxk.text.reset' |
|
||||
i18n }}</button>
|
||||
<button nz-button type="submit" [nzType]="'primary'" [nzLoading]="query.submitLoading">{{ 'mxk.text.query' | i18n }}</button>
|
||||
<button nz-button type="reset" (click)="onReset()" class="mx-sm" style="display: none">{{ 'mxk.text.reset' | i18n }}</button>
|
||||
<button nz-button (click)="query.expandForm = !query.expandForm" class="mx-sm" style="display: none">
|
||||
{{ query.expandForm ? ('mxk.text.collapse' | i18n) : ('mxk.text.expand' | i18n) }}</button>
|
||||
{{ query.expandForm ? ('mxk.text.collapse' | i18n) : ('mxk.text.expand' | i18n) }}</button
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
@@ -44,30 +55,44 @@
|
||||
<button nz-button type="button" [nzType]="'primary'" (click)="onAdd($event)">{{ 'mxk.text.add' | i18n }}</button>
|
||||
<button nz-button type="button" (click)="onBatchDelete($event)" [nzType]="'primary'" nzDanger class="mx-sm">{{
|
||||
'mxk.text.delete' | i18n
|
||||
}}</button>
|
||||
}}</button>
|
||||
</div>
|
||||
|
||||
<div nz-col nzMd="24" nzSm="24">
|
||||
<nz-table #dynamicTable nzTableLayout="auto" nzBordered nzShowSizeChanger [nzData]="query.results.rows"
|
||||
[nzFrontPagination]="false" [nzTotal]="query.results.records" [nzPageSizeOptions]="query.params.pageSizeOptions"
|
||||
[nzPageSize]="query.params.pageSize" [nzPageIndex]="query.params.pageNumber"
|
||||
[nzLoading]="this.query.tableLoading" (nzQueryParams)="onQueryParamsChange($event)">
|
||||
<nz-table
|
||||
#dynamicTable
|
||||
nzTableLayout="auto"
|
||||
nzBordered
|
||||
nzShowSizeChanger
|
||||
[nzData]="query.results.rows"
|
||||
[nzFrontPagination]="false"
|
||||
[nzTotal]="query.results.records"
|
||||
[nzPageSizeOptions]="query.params.pageSizeOptions"
|
||||
[nzPageSize]="query.params.pageSize"
|
||||
[nzPageIndex]="query.params.pageNumber"
|
||||
[nzLoading]="this.query.tableLoading"
|
||||
(nzQueryParams)="onQueryParamsChange($event)"
|
||||
>
|
||||
<thead>
|
||||
<tr>
|
||||
<th [nzChecked]="query.checked" [nzIndeterminate]="query.indeterminate"
|
||||
(nzCheckedChange)="onTableAllChecked($event)"></th>
|
||||
<th [nzChecked]="query.checked" [nzIndeterminate]="query.indeterminate" (nzCheckedChange)="onTableAllChecked($event)"></th>
|
||||
<th nzAlign="center" style="display: none">Id</th>
|
||||
<th nzAlign="center">{{ 'mxk.roles.name' | i18n }}</th>
|
||||
<th nzAlign="center">{{ 'mxk.apps.icon' | i18n }}</th>
|
||||
<th nzAlign="center">{{ 'mxk.apps.name' | i18n }}</th>
|
||||
<th nzAlign="center">{{ 'mxk.apps.category' | i18n }}</th>
|
||||
<th nzAlign="center"><a>{{ 'mxk.text.action' | i18n }}</a></th>
|
||||
<th nzAlign="center"
|
||||
><a>{{ 'mxk.text.action' | i18n }}</a></th
|
||||
>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr *ngFor="let data of query.results.rows">
|
||||
<td [nzChecked]="query.tableCheckedId.has(data.id)" [nzDisabled]="data.disabled"
|
||||
(nzCheckedChange)="onTableItemChecked(data.id, $event)"></td>
|
||||
<td
|
||||
[nzChecked]="query.tableCheckedId.has(data.id)"
|
||||
[nzDisabled]="data.disabled"
|
||||
(nzCheckedChange)="onTableItemChecked(data.id, $event)"
|
||||
></td>
|
||||
<td nzAlign="left"> {{ data.roleName }}</td>
|
||||
<td nzAlign="center"><img height="30" border="0px" src="{{ data.iconBase64 }}" /></td>
|
||||
<td nzAlign="left"> {{ data.appName }}</td>
|
||||
@@ -103,8 +128,7 @@
|
||||
</td>
|
||||
<td nzAlign="left" nzBreakWord="false">
|
||||
<div nz-col>
|
||||
<button nz-button type="button" (click)="onDelete($event, data.id)" nzDanger>{{ 'mxk.text.delete' | i18n
|
||||
}}</button>
|
||||
<button nz-button type="button" (click)="onDelete($event, data.id)" nzDanger>{{ 'mxk.text.delete' | i18n }}</button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -112,4 +136,4 @@
|
||||
</nz-table>
|
||||
</div>
|
||||
</div>
|
||||
</nz-card>
|
||||
</nz-card>
|
||||
|
||||
@@ -66,33 +66,33 @@ export class PermissionsComponent implements OnInit {
|
||||
indeterminate: boolean;
|
||||
checked: boolean;
|
||||
} = {
|
||||
params: {
|
||||
displayName: '',
|
||||
username: '',
|
||||
roleId: '',
|
||||
roleName: '',
|
||||
appName: '',
|
||||
appId: '',
|
||||
startDate: '',
|
||||
endDate: '',
|
||||
startDatePicker: addDays(new Date(), -30),
|
||||
endDatePicker: new Date(),
|
||||
pageSize: 10,
|
||||
pageNumber: 1,
|
||||
pageSizeOptions: [10, 20, 50]
|
||||
},
|
||||
results: {
|
||||
records: 0,
|
||||
rows: []
|
||||
},
|
||||
expandForm: false,
|
||||
submitLoading: false,
|
||||
tableLoading: false,
|
||||
tableInitialize: true,
|
||||
tableCheckedId: new Set<String>(),
|
||||
indeterminate: false,
|
||||
checked: false
|
||||
};
|
||||
params: {
|
||||
displayName: '',
|
||||
username: '',
|
||||
roleId: '',
|
||||
roleName: '',
|
||||
appName: '',
|
||||
appId: '',
|
||||
startDate: '',
|
||||
endDate: '',
|
||||
startDatePicker: addDays(new Date(), -30),
|
||||
endDatePicker: new Date(),
|
||||
pageSize: 10,
|
||||
pageNumber: 1,
|
||||
pageSizeOptions: [10, 20, 50]
|
||||
},
|
||||
results: {
|
||||
records: 0,
|
||||
rows: []
|
||||
},
|
||||
expandForm: false,
|
||||
submitLoading: false,
|
||||
tableLoading: false,
|
||||
tableInitialize: true,
|
||||
tableCheckedId: new Set<String>(),
|
||||
indeterminate: false,
|
||||
checked: false
|
||||
};
|
||||
|
||||
constructor(
|
||||
private modalService: NzModalService,
|
||||
@@ -104,7 +104,7 @@ export class PermissionsComponent implements OnInit {
|
||||
private route: ActivatedRoute,
|
||||
private cdr: ChangeDetectorRef,
|
||||
private http: _HttpClient
|
||||
) { }
|
||||
) {}
|
||||
|
||||
ngOnInit(): void {
|
||||
if (this.route.snapshot.queryParams['roleId']) {
|
||||
@@ -126,7 +126,7 @@ export class PermissionsComponent implements OnInit {
|
||||
this.fetch();
|
||||
}
|
||||
|
||||
onReset(): void { }
|
||||
onReset(): void {}
|
||||
|
||||
onBatchDelete(e: MouseEvent): void {
|
||||
e.preventDefault();
|
||||
|
||||
@@ -1,56 +1,74 @@
|
||||
<div *nzModalTitle> {{ 'mxk.text.add' | i18n }} </div>
|
||||
<nz-card [nzBordered]="false">
|
||||
<form nz-form [nzLayout]="'inline'" (ngSubmit)="onSearch()" class="search__form">
|
||||
<div nz-row [nzGutter]="{ xs: 8, sm: 8, md: 8, lg: 24, xl: 48, xxl: 48 }">
|
||||
<div nz-col nzMd="14" nzSm="24">
|
||||
<nz-form-item>
|
||||
<nz-form-label nzFor="name">{{ 'mxk.roles.name' | i18n }}</nz-form-label>
|
||||
<nz-form-control>
|
||||
<input nz-input [(ngModel)]="query.params.roleName" [ngModelOptions]="{ standalone: true }"
|
||||
name="roleName" placeholder="" id="roleName" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<form nz-form [nzLayout]="'inline'" (ngSubmit)="onSearch()" class="search__form">
|
||||
<div nz-row [nzGutter]="{ xs: 8, sm: 8, md: 8, lg: 24, xl: 48, xxl: 48 }">
|
||||
<div nz-col nzMd="14" nzSm="24">
|
||||
<nz-form-item>
|
||||
<nz-form-label nzFor="name">{{ 'mxk.roles.name' | i18n }}</nz-form-label>
|
||||
<nz-form-control>
|
||||
<input
|
||||
nz-input
|
||||
[(ngModel)]="query.params.roleName"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
name="roleName"
|
||||
placeholder=""
|
||||
id="roleName"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
|
||||
<div nz-col [nzSpan]="query.expandForm ? 24 : 10" [class.text-right]="query.expandForm">
|
||||
<button nz-button type="submit" [nzType]="'primary'" [nzLoading]="query.submitLoading">{{
|
||||
'mxk.text.query' | i18n }}</button>
|
||||
<button nz-button type="reset" (click)="onReset()" class="mx-sm" style="display: none">{{
|
||||
'mxk.text.reset' | i18n }}</button>
|
||||
<button nz-button (click)="query.expandForm = !query.expandForm" class="mx-sm" style="display: none">
|
||||
{{ query.expandForm ? ('mxk.text.collapse' | i18n) : ('mxk.text.expand' | i18n) }}</button>
|
||||
<button nz-button nzType="primary" (click)="onSubmit($event)">{{ 'mxk.text.confirm' | i18n }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<div nz-col [nzSpan]="query.expandForm ? 24 : 10" [class.text-right]="query.expandForm">
|
||||
<button nz-button type="submit" [nzType]="'primary'" [nzLoading]="query.submitLoading">{{ 'mxk.text.query' | i18n }}</button>
|
||||
<button nz-button type="reset" (click)="onReset()" class="mx-sm" style="display: none">{{ 'mxk.text.reset' | i18n }}</button>
|
||||
<button nz-button (click)="query.expandForm = !query.expandForm" class="mx-sm" style="display: none">
|
||||
{{ query.expandForm ? ('mxk.text.collapse' | i18n) : ('mxk.text.expand' | i18n) }}</button
|
||||
>
|
||||
<button nz-button nzType="primary" (click)="onSubmit($event)">{{ 'mxk.text.confirm' | i18n }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<nz-table #dynamicTable nzTableLayout="auto" nzBordered nzShowSizeChanger [nzData]="query.results.rows"
|
||||
[nzFrontPagination]="false" [nzTotal]="query.results.records" [nzPageSizeOptions]="query.params.pageSizeOptions"
|
||||
[nzPageSize]="query.params.pageSize" [nzPageIndex]="query.params.pageNumber"
|
||||
[nzLoading]="this.query.tableLoading" (nzQueryParams)="onQueryParamsChange($event)" nzWidth="100%">
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th nzAlign="center" style="display: none">Id</th>
|
||||
<th nzAlign="center">{{ 'mxk.roles.name' | i18n }}</th>
|
||||
<th nzAlign="center">{{ 'mxk.roles.dynamic' | i18n }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr *ngFor="let data of query.results.rows">
|
||||
<td [nzChecked]="query.tableCheckedId.has(data.id)" [nzDisabled]="data.disabled"
|
||||
(nzCheckedChange)="onTableItemChecked(data.id, $event)"></td>
|
||||
<td nzAlign="left" style="display: none">
|
||||
<span>{{ data.id }}</span>
|
||||
</td>
|
||||
<td nzAlign="left"> {{ data.roleName }}</td>
|
||||
<td nzAlign="center"> <i *ngIf="data.dynamic == 1" nz-icon nzType="check-circle" nzTheme="fill"
|
||||
style="color: green"></i></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</nz-table>
|
||||
<nz-table
|
||||
#dynamicTable
|
||||
nzTableLayout="auto"
|
||||
nzBordered
|
||||
nzShowSizeChanger
|
||||
[nzData]="query.results.rows"
|
||||
[nzFrontPagination]="false"
|
||||
[nzTotal]="query.results.records"
|
||||
[nzPageSizeOptions]="query.params.pageSizeOptions"
|
||||
[nzPageSize]="query.params.pageSize"
|
||||
[nzPageIndex]="query.params.pageNumber"
|
||||
[nzLoading]="this.query.tableLoading"
|
||||
(nzQueryParams)="onQueryParamsChange($event)"
|
||||
nzWidth="100%"
|
||||
>
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th nzAlign="center" style="display: none">Id</th>
|
||||
<th nzAlign="center">{{ 'mxk.roles.name' | i18n }}</th>
|
||||
<th nzAlign="center">{{ 'mxk.roles.dynamic' | i18n }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr *ngFor="let data of query.results.rows">
|
||||
<td
|
||||
[nzChecked]="query.tableCheckedId.has(data.id)"
|
||||
[nzDisabled]="data.disabled"
|
||||
(nzCheckedChange)="onTableItemChecked(data.id, $event)"
|
||||
></td>
|
||||
<td nzAlign="left" style="display: none">
|
||||
<span>{{ data.id }}</span>
|
||||
</td>
|
||||
<td nzAlign="left"> {{ data.roleName }}</td>
|
||||
<td nzAlign="center"> <i *ngIf="data.dynamic == 1" nz-icon nzType="check-circle" nzTheme="fill" style="color: green"></i></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</nz-table>
|
||||
</nz-card>
|
||||
<div *nzModalFooter style="display: none">
|
||||
<button nz-button nzType="default" (click)="onClose($event)">{{ 'mxk.text.close' | i18n }}</button>
|
||||
<button nz-button nzType="primary" (click)="onSubmit($event)">{{ 'mxk.text.submit' | i18n }}</button>
|
||||
</div>
|
||||
<button nz-button nzType="default" (click)="onClose($event)">{{ 'mxk.text.close' | i18n }}</button>
|
||||
<button nz-button nzType="primary" (click)="onSubmit($event)">{{ 'mxk.text.submit' | i18n }}</button>
|
||||
</div>
|
||||
|
||||
@@ -57,29 +57,29 @@ export class MemberRolesEditerComponent implements OnInit {
|
||||
indeterminate: boolean;
|
||||
checked: boolean;
|
||||
} = {
|
||||
params: {
|
||||
roleName: '',
|
||||
username: '',
|
||||
protocol: '',
|
||||
startDate: '',
|
||||
endDate: '',
|
||||
startDatePicker: addDays(new Date(), -30),
|
||||
endDatePicker: new Date(),
|
||||
pageSize: 5,
|
||||
pageNumber: 1,
|
||||
pageSizeOptions: [5, 15, 50]
|
||||
},
|
||||
results: {
|
||||
records: 0,
|
||||
rows: []
|
||||
},
|
||||
expandForm: false,
|
||||
submitLoading: false,
|
||||
tableLoading: false,
|
||||
tableCheckedId: new Set<String>(),
|
||||
indeterminate: false,
|
||||
checked: false
|
||||
};
|
||||
params: {
|
||||
roleName: '',
|
||||
username: '',
|
||||
protocol: '',
|
||||
startDate: '',
|
||||
endDate: '',
|
||||
startDatePicker: addDays(new Date(), -30),
|
||||
endDatePicker: new Date(),
|
||||
pageSize: 5,
|
||||
pageNumber: 1,
|
||||
pageSizeOptions: [5, 15, 50]
|
||||
},
|
||||
results: {
|
||||
records: 0,
|
||||
rows: []
|
||||
},
|
||||
expandForm: false,
|
||||
submitLoading: false,
|
||||
tableLoading: false,
|
||||
tableCheckedId: new Set<String>(),
|
||||
indeterminate: false,
|
||||
checked: false
|
||||
};
|
||||
|
||||
constructor(
|
||||
private modalRef: NzModalRef,
|
||||
@@ -89,7 +89,7 @@ export class MemberRolesEditerComponent implements OnInit {
|
||||
private msg: NzMessageService,
|
||||
@Inject(ALAIN_I18N_TOKEN) private i18n: I18NService,
|
||||
private cdr: ChangeDetectorRef
|
||||
) { }
|
||||
) {}
|
||||
|
||||
ngOnInit(): void {
|
||||
if (this.username) {
|
||||
@@ -108,7 +108,7 @@ export class MemberRolesEditerComponent implements OnInit {
|
||||
this.fetch();
|
||||
}
|
||||
|
||||
onReset(): void { }
|
||||
onReset(): void {}
|
||||
|
||||
fetch(): void {
|
||||
this.query.submitLoading = true;
|
||||
|
||||
@@ -6,32 +6,47 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label nzFor="username">{{ 'mxk.users.username' | i18n }}</nz-form-label>
|
||||
<nz-form-control>
|
||||
<input nz-input [(ngModel)]="query.params.username" [ngModelOptions]="{ standalone: true }" name="username"
|
||||
placeholder="" id="username" />
|
||||
<input
|
||||
nz-input
|
||||
[(ngModel)]="query.params.username"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
name="username"
|
||||
placeholder=""
|
||||
id="username"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
|
||||
<div nz-col [nzSpan]="query.expandForm ? 24 : 10" [class.text-right]="query.expandForm">
|
||||
<button nz-button type="submit" [nzType]="'primary'" [nzLoading]="query.submitLoading">{{ 'mxk.text.query' |
|
||||
i18n }}</button>
|
||||
<button nz-button type="reset" (click)="onReset()" class="mx-sm" style="display: none">{{ 'mxk.text.reset' |
|
||||
i18n }}</button>
|
||||
<button nz-button type="submit" [nzType]="'primary'" [nzLoading]="query.submitLoading">{{ 'mxk.text.query' | i18n }}</button>
|
||||
<button nz-button type="reset" (click)="onReset()" class="mx-sm" style="display: none">{{ 'mxk.text.reset' | i18n }}</button>
|
||||
<button nz-button (click)="query.expandForm = !query.expandForm" class="mx-sm" style="display: none">
|
||||
{{ query.expandForm ? ('mxk.text.collapse' | i18n) : ('mxk.text.expand' | i18n) }}</button>
|
||||
{{ query.expandForm ? ('mxk.text.collapse' | i18n) : ('mxk.text.expand' | i18n) }}</button
|
||||
>
|
||||
<button nz-button nzType="primary" (click)="onSubmit($event)">{{ 'mxk.text.confirm' | i18n }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<nz-table #dynamicTable nzTableLayout="auto" nzBordered nzShowSizeChanger [nzData]="query.results.rows"
|
||||
[nzFrontPagination]="false" [nzTotal]="query.results.records" [nzPageSizeOptions]="query.params.pageSizeOptions"
|
||||
[nzPageSize]="query.params.pageSize" [nzPageIndex]="query.params.pageNumber" [nzLoading]="this.query.tableLoading"
|
||||
(nzQueryParams)="onQueryParamsChange($event)" nzWidth="100%">
|
||||
<nz-table
|
||||
#dynamicTable
|
||||
nzTableLayout="auto"
|
||||
nzBordered
|
||||
nzShowSizeChanger
|
||||
[nzData]="query.results.rows"
|
||||
[nzFrontPagination]="false"
|
||||
[nzTotal]="query.results.records"
|
||||
[nzPageSizeOptions]="query.params.pageSizeOptions"
|
||||
[nzPageSize]="query.params.pageSize"
|
||||
[nzPageIndex]="query.params.pageNumber"
|
||||
[nzLoading]="this.query.tableLoading"
|
||||
(nzQueryParams)="onQueryParamsChange($event)"
|
||||
nzWidth="100%"
|
||||
>
|
||||
<thead>
|
||||
<tr>
|
||||
<th [nzChecked]="query.checked" [nzIndeterminate]="query.indeterminate"
|
||||
(nzCheckedChange)="onTableAllChecked($event)"></th>
|
||||
<th [nzChecked]="query.checked" [nzIndeterminate]="query.indeterminate" (nzCheckedChange)="onTableAllChecked($event)"></th>
|
||||
<th nzAlign="center" style="display: none">Id</th>
|
||||
<th nzAlign="center">{{ 'mxk.users.username' | i18n }}</th>
|
||||
<th nzAlign="center">{{ 'mxk.users.displayName' | i18n }}</th>
|
||||
@@ -43,17 +58,18 @@
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr *ngFor="let data of query.results.rows">
|
||||
<td [nzChecked]="query.tableCheckedId.has(data.id)" [nzDisabled]="data.disabled"
|
||||
(nzCheckedChange)="onTableItemChecked(data.id, $event)"></td>
|
||||
<td
|
||||
[nzChecked]="query.tableCheckedId.has(data.id)"
|
||||
[nzDisabled]="data.disabled"
|
||||
(nzCheckedChange)="onTableItemChecked(data.id, $event)"
|
||||
></td>
|
||||
<td nzAlign="left"> {{ data.username }}</td>
|
||||
<td nzAlign="left"> {{ data.displayName }}</td>
|
||||
<td nzAlign="left"> {{ data.employeeNumber }}</td>
|
||||
<td nzAlign="left"> {{ data.department }}</td>
|
||||
<td nzAlign="left"> {{ data.jobTitle }}</td>
|
||||
<td nzAlign="center"> {{ data.gender == 1 ? ('mxk.users.gender.female' | i18n) : ('mxk.users.gender.male' |
|
||||
i18n) }}</td>
|
||||
<td nzAlign="center"> <i *ngIf="data.dynamic == 1" nz-icon nzType="check-circle" nzTheme="fill"
|
||||
style="color: green"></i></td>
|
||||
<td nzAlign="center"> {{ data.gender == 1 ? ('mxk.users.gender.female' | i18n) : ('mxk.users.gender.male' | i18n) }}</td>
|
||||
<td nzAlign="center"> <i *ngIf="data.dynamic == 1" nz-icon nzType="check-circle" nzTheme="fill" style="color: green"></i></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</nz-table>
|
||||
@@ -61,4 +77,4 @@
|
||||
<div *nzModalFooter style="display: none">
|
||||
<button nz-button nzType="default" (click)="onClose($event)">{{ 'mxk.text.close' | i18n }}</button>
|
||||
<button nz-button nzType="primary" (click)="onSubmit($event)">{{ 'mxk.text.submit' | i18n }}</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -60,30 +60,30 @@ export class RoleMembersEditerComponent implements OnInit {
|
||||
indeterminate: boolean;
|
||||
checked: boolean;
|
||||
} = {
|
||||
params: {
|
||||
name: '',
|
||||
displayName: '',
|
||||
username: '',
|
||||
roleId: '',
|
||||
startDate: '',
|
||||
endDate: '',
|
||||
startDatePicker: addDays(new Date(), -30),
|
||||
endDatePicker: new Date(),
|
||||
pageSize: 5,
|
||||
pageNumber: 1,
|
||||
pageSizeOptions: [5, 15, 50]
|
||||
},
|
||||
results: {
|
||||
records: 0,
|
||||
rows: []
|
||||
},
|
||||
expandForm: false,
|
||||
submitLoading: false,
|
||||
tableLoading: false,
|
||||
tableCheckedId: new Set<String>(),
|
||||
indeterminate: false,
|
||||
checked: false
|
||||
};
|
||||
params: {
|
||||
name: '',
|
||||
displayName: '',
|
||||
username: '',
|
||||
roleId: '',
|
||||
startDate: '',
|
||||
endDate: '',
|
||||
startDatePicker: addDays(new Date(), -30),
|
||||
endDatePicker: new Date(),
|
||||
pageSize: 5,
|
||||
pageNumber: 1,
|
||||
pageSizeOptions: [5, 15, 50]
|
||||
},
|
||||
results: {
|
||||
records: 0,
|
||||
rows: []
|
||||
},
|
||||
expandForm: false,
|
||||
submitLoading: false,
|
||||
tableLoading: false,
|
||||
tableCheckedId: new Set<String>(),
|
||||
indeterminate: false,
|
||||
checked: false
|
||||
};
|
||||
|
||||
constructor(
|
||||
private modalRef: NzModalRef,
|
||||
@@ -93,7 +93,7 @@ export class RoleMembersEditerComponent implements OnInit {
|
||||
private msg: NzMessageService,
|
||||
@Inject(ALAIN_I18N_TOKEN) private i18n: I18NService,
|
||||
private cdr: ChangeDetectorRef
|
||||
) { }
|
||||
) {}
|
||||
|
||||
ngOnInit(): void {
|
||||
if (this.roleId) {
|
||||
@@ -112,7 +112,7 @@ export class RoleMembersEditerComponent implements OnInit {
|
||||
this.fetch();
|
||||
}
|
||||
|
||||
onReset(): void { }
|
||||
onReset(): void {}
|
||||
|
||||
fetch(): void {
|
||||
this.query.submitLoading = true;
|
||||
|
||||
@@ -8,12 +8,18 @@
|
||||
<nz-form-label nzFor="roleName">{{ 'mxk.roles.name' | i18n }}</nz-form-label>
|
||||
<nz-form-control>
|
||||
<nz-input-group nzSearch [nzAddOnAfter]="suffixButton">
|
||||
<input nz-input [(ngModel)]="query.params.roleName" [ngModelOptions]="{ standalone: true }"
|
||||
name="roleName" readonly placeholder="" id="roleName" />
|
||||
<input
|
||||
nz-input
|
||||
[(ngModel)]="query.params.roleName"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
name="roleName"
|
||||
readonly
|
||||
placeholder=""
|
||||
id="roleName"
|
||||
/>
|
||||
</nz-input-group>
|
||||
<ng-template #suffixButton>
|
||||
<button nz-button nzType="primary" (click)="onSelect($event)" nzSearch>{{ 'mxk.text.select' | i18n
|
||||
}}</button>
|
||||
<button nz-button nzType="primary" (click)="onSelect($event)" nzSearch>{{ 'mxk.text.select' | i18n }}</button>
|
||||
</ng-template>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
@@ -22,17 +28,23 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label nzFor="name">{{ 'mxk.users.username' | i18n }}</nz-form-label>
|
||||
<nz-form-control>
|
||||
<input nz-input [(ngModel)]="query.params.username" [ngModelOptions]="{ standalone: true }" name="username"
|
||||
placeholder="" id="username" />
|
||||
<input
|
||||
nz-input
|
||||
[(ngModel)]="query.params.username"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
name="username"
|
||||
placeholder=""
|
||||
id="username"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-col [nzSpan]="query.expandForm ? 24 : 8" [class.text-right]="query.expandForm">
|
||||
<button nz-button type="submit" [nzType]="'primary'" [nzLoading]="query.submitLoading">{{ 'mxk.text.query' |
|
||||
i18n }}</button>
|
||||
<button nz-button type="submit" [nzType]="'primary'" [nzLoading]="query.submitLoading">{{ 'mxk.text.query' | i18n }}</button>
|
||||
<button nz-button type="reset" (click)="onReset()" class="mx-sm">{{ 'mxk.text.reset' | i18n }}</button>
|
||||
<button nz-button (click)="query.expandForm = !query.expandForm" class="mx-sm" style="display: none">
|
||||
{{ query.expandForm ? ('mxk.text.collapse' | i18n) : ('mxk.text.expand' | i18n) }}</button>
|
||||
{{ query.expandForm ? ('mxk.text.collapse' | i18n) : ('mxk.text.expand' | i18n) }}</button
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
@@ -43,44 +55,56 @@
|
||||
<button nz-button type="button" [nzType]="'primary'" (click)="onAdd($event)">{{ 'mxk.text.add' | i18n }}</button>
|
||||
<button nz-button type="button" (click)="onBatchDelete($event)" [nzType]="'primary'" nzDanger class="mx-sm">{{
|
||||
'mxk.text.delete' | i18n
|
||||
}}</button>
|
||||
}}</button>
|
||||
</div>
|
||||
|
||||
<div nz-col nzMd="24" nzSm="24">
|
||||
<nz-table #dynamicTable nzTableLayout="auto" nzBordered nzShowSizeChanger [nzData]="query.results.rows"
|
||||
[nzFrontPagination]="false" [nzTotal]="query.results.records" [nzPageSizeOptions]="query.params.pageSizeOptions"
|
||||
[nzPageSize]="query.params.pageSize" [nzPageIndex]="query.params.pageNumber"
|
||||
[nzLoading]="this.query.tableLoading" (nzQueryParams)="onQueryParamsChange($event)">
|
||||
<nz-table
|
||||
#dynamicTable
|
||||
nzTableLayout="auto"
|
||||
nzBordered
|
||||
nzShowSizeChanger
|
||||
[nzData]="query.results.rows"
|
||||
[nzFrontPagination]="false"
|
||||
[nzTotal]="query.results.records"
|
||||
[nzPageSizeOptions]="query.params.pageSizeOptions"
|
||||
[nzPageSize]="query.params.pageSize"
|
||||
[nzPageIndex]="query.params.pageNumber"
|
||||
[nzLoading]="this.query.tableLoading"
|
||||
(nzQueryParams)="onQueryParamsChange($event)"
|
||||
>
|
||||
<thead>
|
||||
<tr>
|
||||
<th [nzChecked]="query.checked" [nzIndeterminate]="query.indeterminate"
|
||||
(nzCheckedChange)="onTableAllChecked($event)"></th>
|
||||
<th [nzChecked]="query.checked" [nzIndeterminate]="query.indeterminate" (nzCheckedChange)="onTableAllChecked($event)"></th>
|
||||
<th nzAlign="center">{{ 'mxk.roles.name' | i18n }}</th>
|
||||
<th nzAlign="center">{{ 'mxk.users.username' | i18n }}</th>
|
||||
<th nzAlign="center">{{ 'mxk.users.displayName' | i18n }}</th>
|
||||
<th nzAlign="center">{{ 'mxk.users.department' | i18n }}</th>
|
||||
<th nzAlign="center">{{ 'mxk.users.jobTitle' | i18n }}</th>
|
||||
<th nzAlign="center">{{ 'mxk.users.gender' | i18n }}</th>
|
||||
<th nzAlign="center"><a>{{ 'mxk.text.action' | i18n }}</a></th>
|
||||
<th nzAlign="center"
|
||||
><a>{{ 'mxk.text.action' | i18n }}</a></th
|
||||
>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr *ngFor="let data of query.results.rows">
|
||||
<td [nzChecked]="query.tableCheckedId.has(data.id)" [nzDisabled]="data.disabled"
|
||||
(nzCheckedChange)="onTableItemChecked(data.id, $event)"></td>
|
||||
<td
|
||||
[nzChecked]="query.tableCheckedId.has(data.id)"
|
||||
[nzDisabled]="data.disabled"
|
||||
(nzCheckedChange)="onTableItemChecked(data.id, $event)"
|
||||
></td>
|
||||
<td nzAlign="left"> {{ data.roleName }}</td>
|
||||
<td nzAlign="left"> {{ data.username }}</td>
|
||||
<td nzAlign="left"> {{ data.displayName }}</td>
|
||||
<td nzAlign="left"> {{ data.department }}</td>
|
||||
<td nzAlign="left"> {{ data.jobTitle }}</td>
|
||||
<td nzAlign="center"> {{ data.gender == 1 ? ('mxk.users.gender.female' | i18n) : ('mxk.users.gender.male' |
|
||||
i18n) }}</td>
|
||||
<td nzAlign="center"> {{ data.gender == 1 ? ('mxk.users.gender.female' | i18n) : ('mxk.users.gender.male' | i18n) }}</td>
|
||||
<td nzAlign="left" nzBreakWord="false">
|
||||
<div nz-col>
|
||||
<button *ngIf="data.category == 'static'" nz-button type="button" (click)="onDelete($event, data.id)"
|
||||
nzDanger>{{
|
||||
<button *ngIf="data.category == 'static'" nz-button type="button" (click)="onDelete($event, data.id)" nzDanger>{{
|
||||
'mxk.text.delete' | i18n
|
||||
}}</button>
|
||||
}}</button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -88,4 +112,4 @@
|
||||
</nz-table>
|
||||
</div>
|
||||
</div>
|
||||
</nz-card>
|
||||
</nz-card>
|
||||
|
||||
@@ -67,33 +67,33 @@ export class RoleMembersComponent implements OnInit {
|
||||
indeterminate: boolean;
|
||||
checked: boolean;
|
||||
} = {
|
||||
params: {
|
||||
roleName: '',
|
||||
displayName: '',
|
||||
username: '',
|
||||
roleId: '',
|
||||
appName: '',
|
||||
appId: '',
|
||||
startDate: '',
|
||||
endDate: '',
|
||||
startDatePicker: addDays(new Date(), -30),
|
||||
endDatePicker: new Date(),
|
||||
pageSize: 10,
|
||||
pageNumber: 1,
|
||||
pageSizeOptions: [10, 20, 50]
|
||||
},
|
||||
results: {
|
||||
records: 0,
|
||||
rows: []
|
||||
},
|
||||
expandForm: false,
|
||||
submitLoading: false,
|
||||
tableLoading: false,
|
||||
tableInitialize: true,
|
||||
tableCheckedId: new Set<String>(),
|
||||
indeterminate: false,
|
||||
checked: false
|
||||
};
|
||||
params: {
|
||||
roleName: '',
|
||||
displayName: '',
|
||||
username: '',
|
||||
roleId: '',
|
||||
appName: '',
|
||||
appId: '',
|
||||
startDate: '',
|
||||
endDate: '',
|
||||
startDatePicker: addDays(new Date(), -30),
|
||||
endDatePicker: new Date(),
|
||||
pageSize: 10,
|
||||
pageNumber: 1,
|
||||
pageSizeOptions: [10, 20, 50]
|
||||
},
|
||||
results: {
|
||||
records: 0,
|
||||
rows: []
|
||||
},
|
||||
expandForm: false,
|
||||
submitLoading: false,
|
||||
tableLoading: false,
|
||||
tableInitialize: true,
|
||||
tableCheckedId: new Set<String>(),
|
||||
indeterminate: false,
|
||||
checked: false
|
||||
};
|
||||
|
||||
constructor(
|
||||
private modalService: NzModalService,
|
||||
@@ -104,7 +104,7 @@ export class RoleMembersComponent implements OnInit {
|
||||
@Inject(ALAIN_I18N_TOKEN) private i18n: I18NService,
|
||||
private route: ActivatedRoute,
|
||||
private cdr: ChangeDetectorRef
|
||||
) { }
|
||||
) {}
|
||||
|
||||
ngOnInit(): void {
|
||||
if (this.route.snapshot.queryParams['username']) {
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
<nz-form-item class="d-none">
|
||||
<nz-form-label [nzMd]="6" nzRequired nzFor="id">{{ 'mxk.text.id' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzMd]="18" nzErrorTip="The input is not valid id!">
|
||||
<input [(ngModel)]="form.model.id" disabled="{{ isEdit }}" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="id" />
|
||||
<input [(ngModel)]="form.model.id" disabled="{{ isEdit }}" [ngModelOptions]="{ standalone: true }" nz-input name="id" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
@@ -17,8 +16,7 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="roleName">{{ 'mxk.roles.name' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid minLength!">
|
||||
<input [(ngModel)]="form.model.roleName" [ngModelOptions]="{ standalone: true }" nz-input name="roleName"
|
||||
id="roleName" />
|
||||
<input [(ngModel)]="form.model.roleName" [ngModelOptions]="{ standalone: true }" nz-input name="roleName" id="roleName" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
@@ -33,40 +31,77 @@
|
||||
<nz-form-item *ngIf="form.model.category == 'dynamic'">
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="resumeTime">{{ 'mxk.roles.resumeTime' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="18" [nzXs]="24" nzErrorTip="The input is not valid port!">
|
||||
<nz-time-picker [(ngModel)]="form.model.picker_resumeTime" [ngModelOptions]="{ standalone: true }"
|
||||
nzFormat="HH:mm" name="picker_resumeTime" id="picker_resumeTime"></nz-time-picker>
|
||||
<nz-time-picker
|
||||
[(ngModel)]="form.model.picker_resumeTime"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nzFormat="HH:mm"
|
||||
name="picker_resumeTime"
|
||||
id="picker_resumeTime"
|
||||
></nz-time-picker>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item *ngIf="form.model.category == 'dynamic'">
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="suspendTime">{{ 'mxk.roles.suspendTime' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="18" [nzXs]="24" nzErrorTip="The input is not valid suspendTime!">
|
||||
<nz-time-picker [(ngModel)]="form.model.picker_suspendTime" [ngModelOptions]="{ standalone: true }"
|
||||
nzFormat="HH:mm" name="picker_suspendTime" id="picker_suspendTime"></nz-time-picker>
|
||||
<nz-time-picker
|
||||
[(ngModel)]="form.model.picker_suspendTime"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nzFormat="HH:mm"
|
||||
name="picker_suspendTime"
|
||||
id="picker_suspendTime"
|
||||
></nz-time-picker>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item *ngIf="form.model.category == 'dynamic'">
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="orgIdsList">{{ 'mxk.roles.orgIdsList' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="18" [nzXs]="24" nzErrorTip="The input is not valid upperCase!">
|
||||
<input type="hidden" [(ngModel)]="form.model.orgIdsList" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="orgIdsList" id="orgIdsList" />
|
||||
<nz-tree-select nzVirtualHeight="300px" [nzMaxTagCount]="3" [(ngModel)]="selectValues"
|
||||
[ngModelOptions]="{ standalone: true }" [nzNodes]="treeNodes.nodes" nzCheckable nzPlaceHolder="Please select"
|
||||
[nzCheckStrictly]="true">
|
||||
<input
|
||||
type="hidden"
|
||||
[(ngModel)]="form.model.orgIdsList"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="orgIdsList"
|
||||
id="orgIdsList"
|
||||
/>
|
||||
<nz-tree-select
|
||||
nzVirtualHeight="300px"
|
||||
[nzMaxTagCount]="3"
|
||||
[(ngModel)]="selectValues"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
[nzNodes]="treeNodes.nodes"
|
||||
nzCheckable
|
||||
nzPlaceHolder="Please select"
|
||||
[nzCheckStrictly]="true"
|
||||
>
|
||||
</nz-tree-select>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item *ngIf="form.model.category == 'dynamic'">
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="filters">{{ 'mxk.roles.filters' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="18" [nzXs]="24" nzErrorTip="The input is not valid filters!">
|
||||
<textarea rows="4" nz-input [(ngModel)]="form.model.filters" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="filters" id="filters"></textarea>
|
||||
<textarea
|
||||
rows="4"
|
||||
nz-input
|
||||
[(ngModel)]="form.model.filters"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="filters"
|
||||
id="filters"
|
||||
></textarea>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="description">{{ 'mxk.text.description' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="18" [nzXs]="24" nzErrorTip="The input is not valid encoding!">
|
||||
<textarea rows="4" nz-input [(ngModel)]="form.model.description" [ngModelOptions]="{ standalone: true }"
|
||||
nz-input name="description" id="description"></textarea>
|
||||
<textarea
|
||||
rows="4"
|
||||
nz-input
|
||||
[(ngModel)]="form.model.description"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="description"
|
||||
id="description"
|
||||
></textarea>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</form>
|
||||
@@ -75,4 +110,4 @@
|
||||
<div *nzModalFooter>
|
||||
<button nz-button nzType="default" (click)="onClose($event)">{{ 'mxk.text.close' | i18n }}</button>
|
||||
<button nz-button nzType="primary" (click)="onSubmit($event)">{{ 'mxk.text.submit' | i18n }}</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -47,9 +47,9 @@ export class RoleEditerComponent implements OnInit {
|
||||
submitting: boolean;
|
||||
model: Roles;
|
||||
} = {
|
||||
submitting: false,
|
||||
model: new Roles()
|
||||
};
|
||||
submitting: false,
|
||||
model: new Roles()
|
||||
};
|
||||
|
||||
// TreeNodes
|
||||
treeNodes = new TreeNodes(false);
|
||||
@@ -66,7 +66,7 @@ export class RoleEditerComponent implements OnInit {
|
||||
private msg: NzMessageService,
|
||||
@Inject(ALAIN_I18N_TOKEN) private i18n: I18NService,
|
||||
private cdr: ChangeDetectorRef
|
||||
) { }
|
||||
) {}
|
||||
|
||||
ngOnInit(): void {
|
||||
this.tree();
|
||||
|
||||
@@ -7,19 +7,24 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label nzFor="roleName">{{ 'mxk.roles.name' | i18n }}</nz-form-label>
|
||||
<nz-form-control>
|
||||
<input nz-input [(ngModel)]="query.params.roleName" [ngModelOptions]="{ standalone: true }" name="roleName"
|
||||
placeholder="" id="roleName" />
|
||||
<input
|
||||
nz-input
|
||||
[(ngModel)]="query.params.roleName"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
name="roleName"
|
||||
placeholder=""
|
||||
id="roleName"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
|
||||
<div nz-col [nzSpan]="query.expandForm ? 24 : 8" [class.text-right]="query.expandForm">
|
||||
<button nz-button type="submit" [nzType]="'primary'" [nzLoading]="query.submitLoading">{{ 'mxk.text.query' |
|
||||
i18n }}</button>
|
||||
<button nz-button type="reset" (click)="onReset()" class="mx-sm" style="display: none">{{ 'mxk.text.reset' |
|
||||
i18n }}</button>
|
||||
<button nz-button type="submit" [nzType]="'primary'" [nzLoading]="query.submitLoading">{{ 'mxk.text.query' | i18n }}</button>
|
||||
<button nz-button type="reset" (click)="onReset()" class="mx-sm" style="display: none">{{ 'mxk.text.reset' | i18n }}</button>
|
||||
<button nz-button (click)="query.expandForm = !query.expandForm" class="mx-sm" style="display: none">
|
||||
{{ query.expandForm ? ('mxk.text.collapse' | i18n) : ('mxk.text.expand' | i18n) }}</button>
|
||||
{{ query.expandForm ? ('mxk.text.collapse' | i18n) : ('mxk.text.expand' | i18n) }}</button
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
@@ -29,27 +34,43 @@
|
||||
<button nz-button type="button" [nzType]="'primary'" (click)="onAdd($event)">{{ 'mxk.text.add' | i18n }}</button>
|
||||
<button nz-button type="button" (click)="onBatchDelete($event)" [nzType]="'primary'" nzDanger class="mx-sm">{{
|
||||
'mxk.text.delete' | i18n
|
||||
}}</button>
|
||||
}}</button>
|
||||
</div>
|
||||
<nz-table #dynamicTable nzTableLayout="auto" nzSize="small" nzBordered nzShowSizeChanger [nzData]="query.results.rows"
|
||||
[nzFrontPagination]="false" [nzTotal]="query.results.records" [nzPageSizeOptions]="query.params.pageSizeOptions"
|
||||
[nzPageSize]="query.params.pageSize" [nzPageIndex]="query.params.pageNumber" [nzLoading]="this.query.tableLoading"
|
||||
(nzQueryParams)="onQueryParamsChange($event)" nzWidth="100%">
|
||||
<nz-table
|
||||
#dynamicTable
|
||||
nzTableLayout="auto"
|
||||
nzSize="small"
|
||||
nzBordered
|
||||
nzShowSizeChanger
|
||||
[nzData]="query.results.rows"
|
||||
[nzFrontPagination]="false"
|
||||
[nzTotal]="query.results.records"
|
||||
[nzPageSizeOptions]="query.params.pageSizeOptions"
|
||||
[nzPageSize]="query.params.pageSize"
|
||||
[nzPageIndex]="query.params.pageNumber"
|
||||
[nzLoading]="this.query.tableLoading"
|
||||
(nzQueryParams)="onQueryParamsChange($event)"
|
||||
nzWidth="100%"
|
||||
>
|
||||
<thead>
|
||||
<tr>
|
||||
<th [nzChecked]="query.checked" [nzIndeterminate]="query.indeterminate"
|
||||
(nzCheckedChange)="onTableAllChecked($event)"></th>
|
||||
<th [nzChecked]="query.checked" [nzIndeterminate]="query.indeterminate" (nzCheckedChange)="onTableAllChecked($event)"></th>
|
||||
<th nzAlign="center" style="display: none">Id</th>
|
||||
<th nzAlign="center">{{ 'mxk.roles.name' | i18n }}</th>
|
||||
<th nzAlign="center">{{ 'mxk.roles.category' | i18n }}</th>
|
||||
<th nzAlign="center">{{ 'mxk.text.description' | i18n }}</th>
|
||||
<th nzAlign="center"><a>{{ 'mxk.text.action' | i18n }}</a></th>
|
||||
<th nzAlign="center"
|
||||
><a>{{ 'mxk.text.action' | i18n }}</a></th
|
||||
>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr *ngFor="let data of query.results.rows">
|
||||
<td [nzChecked]="query.tableCheckedId.has(data.id)" [nzDisabled]="data.disabled"
|
||||
(nzCheckedChange)="onTableItemChecked(data.id, $event)"></td>
|
||||
<td
|
||||
[nzChecked]="query.tableCheckedId.has(data.id)"
|
||||
[nzDisabled]="data.disabled"
|
||||
(nzCheckedChange)="onTableItemChecked(data.id, $event)"
|
||||
></td>
|
||||
<td nzAlign="left" style="display: none">
|
||||
<span>{{ data.id }}</span>
|
||||
</td>
|
||||
@@ -61,20 +82,22 @@
|
||||
<div nz-col>
|
||||
<button nz-button type="button" (click)="onMembers($event, data.id, data.roleName)" style="float: left">{{
|
||||
'mxk.roles.member' | i18n
|
||||
}}</button>
|
||||
<button nz-button type="button" (click)="onPermissions($event, data.id, data.roleName)"
|
||||
style="float: left">{{
|
||||
}}</button>
|
||||
<button nz-button type="button" (click)="onPermissions($event, data.id, data.roleName)" style="float: left">{{
|
||||
'mxk.roles.permissions' | i18n
|
||||
}}</button>
|
||||
<button nz-button type="button" (click)="onEdit($event, data.id)" style="float: left">{{ 'mxk.text.edit' |
|
||||
i18n }}</button>
|
||||
}}</button>
|
||||
<button nz-button type="button" (click)="onEdit($event, data.id)" style="float: left">{{ 'mxk.text.edit' | i18n }}</button>
|
||||
<button
|
||||
*ngIf="data.roleCode != 'ROLE_ADMINISTRATORS' && data.roleCode != 'ROLE_ALL_USER' && data.roleCode != 'ROLE_MANAGERS'"
|
||||
nz-button type="button" (click)="onDelete($event, data.id)" nzDanger>{{ 'mxk.text.delete' | i18n
|
||||
}}</button>
|
||||
nz-button
|
||||
type="button"
|
||||
(click)="onDelete($event, data.id)"
|
||||
nzDanger
|
||||
>{{ 'mxk.text.delete' | i18n }}</button
|
||||
>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</nz-table>
|
||||
</nz-card>
|
||||
</nz-card>
|
||||
|
||||
@@ -59,29 +59,29 @@ export class RolesComponent implements OnInit {
|
||||
indeterminate: boolean;
|
||||
checked: boolean;
|
||||
} = {
|
||||
params: {
|
||||
roleName: '',
|
||||
displayName: '',
|
||||
employeeNumber: '',
|
||||
startDate: '',
|
||||
endDate: '',
|
||||
startDatePicker: addDays(new Date(), -30),
|
||||
endDatePicker: new Date(),
|
||||
pageSize: 10,
|
||||
pageNumber: 1,
|
||||
pageSizeOptions: [10, 20, 50]
|
||||
},
|
||||
results: {
|
||||
records: 0,
|
||||
rows: []
|
||||
},
|
||||
expandForm: false,
|
||||
submitLoading: false,
|
||||
tableLoading: false,
|
||||
tableCheckedId: new Set<String>(),
|
||||
indeterminate: false,
|
||||
checked: false
|
||||
};
|
||||
params: {
|
||||
roleName: '',
|
||||
displayName: '',
|
||||
employeeNumber: '',
|
||||
startDate: '',
|
||||
endDate: '',
|
||||
startDatePicker: addDays(new Date(), -30),
|
||||
endDatePicker: new Date(),
|
||||
pageSize: 10,
|
||||
pageNumber: 1,
|
||||
pageSizeOptions: [10, 20, 50]
|
||||
},
|
||||
results: {
|
||||
records: 0,
|
||||
rows: []
|
||||
},
|
||||
expandForm: false,
|
||||
submitLoading: false,
|
||||
tableLoading: false,
|
||||
tableCheckedId: new Set<String>(),
|
||||
indeterminate: false,
|
||||
checked: false
|
||||
};
|
||||
|
||||
constructor(
|
||||
private modalService: NzModalService,
|
||||
@@ -92,7 +92,7 @@ export class RolesComponent implements OnInit {
|
||||
private router: Router,
|
||||
@Inject(ALAIN_I18N_TOKEN) private i18n: I18NService,
|
||||
private cdr: ChangeDetectorRef
|
||||
) { }
|
||||
) {}
|
||||
|
||||
ngOnInit(): void {
|
||||
this.fetch();
|
||||
@@ -108,7 +108,7 @@ export class RolesComponent implements OnInit {
|
||||
this.fetch();
|
||||
}
|
||||
|
||||
onReset(): void { }
|
||||
onReset(): void {}
|
||||
|
||||
onBatchDelete(e: MouseEvent): void {
|
||||
e.preventDefault();
|
||||
|
||||
@@ -6,28 +6,44 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label nzFor="roleName">{{ 'mxk.roles.name' | i18n }}</nz-form-label>
|
||||
<nz-form-control>
|
||||
<input nz-input [(ngModel)]="query.params.roleName" [ngModelOptions]="{ standalone: true }" name="roleName"
|
||||
placeholder="" id="roleName" />
|
||||
<input
|
||||
nz-input
|
||||
[(ngModel)]="query.params.roleName"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
name="roleName"
|
||||
placeholder=""
|
||||
id="roleName"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
|
||||
<div nz-col [nzSpan]="query.expandForm ? 24 : 10" [class.text-right]="query.expandForm">
|
||||
<button nz-button type="submit" [nzType]="'primary'" [nzLoading]="query.submitLoading">{{ 'mxk.text.query' |
|
||||
i18n }}</button>
|
||||
<button nz-button type="reset" (click)="onReset()" class="mx-sm" style="display: none">{{ 'mxk.text.reset' |
|
||||
i18n }}</button>
|
||||
<button nz-button type="submit" [nzType]="'primary'" [nzLoading]="query.submitLoading">{{ 'mxk.text.query' | i18n }}</button>
|
||||
<button nz-button type="reset" (click)="onReset()" class="mx-sm" style="display: none">{{ 'mxk.text.reset' | i18n }}</button>
|
||||
<button nz-button (click)="query.expandForm = !query.expandForm" class="mx-sm" style="display: none">
|
||||
{{ query.expandForm ? ('mxk.text.collapse' | i18n) : ('mxk.text.expand' | i18n) }}</button>
|
||||
{{ query.expandForm ? ('mxk.text.collapse' | i18n) : ('mxk.text.expand' | i18n) }}</button
|
||||
>
|
||||
<button nz-button nzType="primary" (click)="onSubmit($event)">{{ 'mxk.text.confirm' | i18n }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<nz-table #dynamicTable nzTableLayout="auto" nzBordered nzShowSizeChanger [nzData]="query.results.rows"
|
||||
[nzFrontPagination]="false" [nzTotal]="query.results.records" [nzPageSizeOptions]="query.params.pageSizeOptions"
|
||||
[nzPageSize]="query.params.pageSize" [nzPageIndex]="query.params.pageNumber" [nzLoading]="this.query.tableLoading"
|
||||
(nzQueryParams)="onQueryParamsChange($event)" nzWidth="100%">
|
||||
<nz-table
|
||||
#dynamicTable
|
||||
nzTableLayout="auto"
|
||||
nzBordered
|
||||
nzShowSizeChanger
|
||||
[nzData]="query.results.rows"
|
||||
[nzFrontPagination]="false"
|
||||
[nzTotal]="query.results.records"
|
||||
[nzPageSizeOptions]="query.params.pageSizeOptions"
|
||||
[nzPageSize]="query.params.pageSize"
|
||||
[nzPageIndex]="query.params.pageNumber"
|
||||
[nzLoading]="this.query.tableLoading"
|
||||
(nzQueryParams)="onQueryParamsChange($event)"
|
||||
nzWidth="100%"
|
||||
>
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
@@ -38,8 +54,11 @@
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr *ngFor="let data of query.results.rows">
|
||||
<td [nzChecked]="query.tableCheckedId.has(data.id)" [nzDisabled]="data.disabled"
|
||||
(nzCheckedChange)="onTableItemChecked(data.id, $event)"></td>
|
||||
<td
|
||||
[nzChecked]="query.tableCheckedId.has(data.id)"
|
||||
[nzDisabled]="data.disabled"
|
||||
(nzCheckedChange)="onTableItemChecked(data.id, $event)"
|
||||
></td>
|
||||
<td nzAlign="left" style="display: none">
|
||||
<span>{{ data.id }}</span>
|
||||
</td>
|
||||
@@ -53,4 +72,4 @@
|
||||
<div *nzModalFooter style="display: none">
|
||||
<button nz-button nzType="default" (click)="onClose($event)">{{ 'mxk.text.close' | i18n }}</button>
|
||||
<button nz-button nzType="primary" (click)="onSubmit($event)">{{ 'mxk.text.submit' | i18n }}</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -55,29 +55,29 @@ export class SelectRolesComponent implements OnInit {
|
||||
indeterminate: boolean;
|
||||
checked: boolean;
|
||||
} = {
|
||||
params: {
|
||||
roleName: '',
|
||||
displayName: '',
|
||||
protocol: '',
|
||||
startDate: '',
|
||||
endDate: '',
|
||||
startDatePicker: addDays(new Date(), -30),
|
||||
endDatePicker: new Date(),
|
||||
pageSize: 5,
|
||||
pageNumber: 1,
|
||||
pageSizeOptions: [5, 15, 50]
|
||||
},
|
||||
results: {
|
||||
records: 0,
|
||||
rows: []
|
||||
},
|
||||
expandForm: false,
|
||||
submitLoading: false,
|
||||
tableLoading: false,
|
||||
tableCheckedId: new Set<String>(),
|
||||
indeterminate: false,
|
||||
checked: false
|
||||
};
|
||||
params: {
|
||||
roleName: '',
|
||||
displayName: '',
|
||||
protocol: '',
|
||||
startDate: '',
|
||||
endDate: '',
|
||||
startDatePicker: addDays(new Date(), -30),
|
||||
endDatePicker: new Date(),
|
||||
pageSize: 5,
|
||||
pageNumber: 1,
|
||||
pageSizeOptions: [5, 15, 50]
|
||||
},
|
||||
results: {
|
||||
records: 0,
|
||||
rows: []
|
||||
},
|
||||
expandForm: false,
|
||||
submitLoading: false,
|
||||
tableLoading: false,
|
||||
tableCheckedId: new Set<String>(),
|
||||
indeterminate: false,
|
||||
checked: false
|
||||
};
|
||||
|
||||
constructor(
|
||||
private modalRef: NzModalRef,
|
||||
@@ -86,7 +86,7 @@ export class SelectRolesComponent implements OnInit {
|
||||
private fb: FormBuilder,
|
||||
private msg: NzMessageService,
|
||||
private cdr: ChangeDetectorRef
|
||||
) { }
|
||||
) {}
|
||||
|
||||
ngOnInit(): void {
|
||||
this.fetch();
|
||||
@@ -102,7 +102,7 @@ export class SelectRolesComponent implements OnInit {
|
||||
this.fetch();
|
||||
}
|
||||
|
||||
onReset(): void { }
|
||||
onReset(): void {}
|
||||
|
||||
fetch(): void {
|
||||
this.query.submitLoading = true;
|
||||
|
||||
@@ -56,29 +56,29 @@ export class SessionsComponent implements OnInit {
|
||||
indeterminate: boolean;
|
||||
checked: boolean;
|
||||
} = {
|
||||
params: {
|
||||
username: '',
|
||||
displayName: '',
|
||||
employeeNumber: '',
|
||||
startDate: '',
|
||||
endDate: '',
|
||||
startDatePicker: addDays(new Date(), -30),
|
||||
endDatePicker: new Date(),
|
||||
pageSize: 10,
|
||||
pageNumber: 1,
|
||||
pageSizeOptions: [10, 20, 50]
|
||||
},
|
||||
results: {
|
||||
records: 0,
|
||||
rows: []
|
||||
},
|
||||
expandForm: false,
|
||||
submitLoading: false,
|
||||
tableLoading: false,
|
||||
tableCheckedId: new Set<String>(),
|
||||
indeterminate: false,
|
||||
checked: false
|
||||
};
|
||||
params: {
|
||||
username: '',
|
||||
displayName: '',
|
||||
employeeNumber: '',
|
||||
startDate: '',
|
||||
endDate: '',
|
||||
startDatePicker: addDays(new Date(), -30),
|
||||
endDatePicker: new Date(),
|
||||
pageSize: 10,
|
||||
pageNumber: 1,
|
||||
pageSizeOptions: [10, 20, 50]
|
||||
},
|
||||
results: {
|
||||
records: 0,
|
||||
rows: []
|
||||
},
|
||||
expandForm: false,
|
||||
submitLoading: false,
|
||||
tableLoading: false,
|
||||
tableCheckedId: new Set<String>(),
|
||||
indeterminate: false,
|
||||
checked: false
|
||||
};
|
||||
|
||||
constructor(
|
||||
private fb: FormBuilder,
|
||||
@@ -86,7 +86,7 @@ export class SessionsComponent implements OnInit {
|
||||
private msg: NzMessageService,
|
||||
@Inject(ALAIN_I18N_TOKEN) private i18n: I18NService,
|
||||
private cdr: ChangeDetectorRef
|
||||
) { }
|
||||
) {}
|
||||
|
||||
ngOnInit(): void {
|
||||
this.fetch();
|
||||
@@ -102,7 +102,7 @@ export class SessionsComponent implements OnInit {
|
||||
this.fetch();
|
||||
}
|
||||
|
||||
onReset(): void { }
|
||||
onReset(): void {}
|
||||
|
||||
onTerminate(e: MouseEvent): void {
|
||||
e.preventDefault();
|
||||
|
||||
@@ -4,105 +4,125 @@
|
||||
<nz-form-item style="display: none">
|
||||
<nz-form-label [nzMd]="6" nzFor="id">{{ 'mxk.text.id' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzMd]="18" nzErrorTip="The input is not valid id!">
|
||||
<input [(ngModel)]="form.model.id" disabled="{{ isEdit }}" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="id" id="id" />
|
||||
<input [(ngModel)]="form.model.id" disabled="{{ isEdit }}" [ngModelOptions]="{ standalone: true }" nz-input name="id" id="id" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item style="display: none">
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" readonly nzRequired nzFor="userId">{{ 'mxk.users.id' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" readonly nzRequired nzFor="userId">{{ 'mxk.users.id' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid minLength!">
|
||||
<input [(ngModel)]="form.model.userId" [ngModelOptions]="{ standalone: true }" nz-input name="userId"
|
||||
id="userId" />
|
||||
<input [(ngModel)]="form.model.userId" [ngModelOptions]="{ standalone: true }" nz-input name="userId" id="userId" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
|
||||
<nz-form-item *ngIf="!isEdit && username == ''">
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="displayName">{{ 'mxk.users.displayName' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="displayName">{{ 'mxk.users.displayName' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid displayName!">
|
||||
<nz-input-group nzSearch [nzAddOnAfter]="suffixButton">
|
||||
<input [(ngModel)]="form.model.displayName" readonly [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="displayName" id="displayName" />
|
||||
<input
|
||||
[(ngModel)]="form.model.displayName"
|
||||
readonly
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="displayName"
|
||||
id="displayName"
|
||||
/>
|
||||
</nz-input-group>
|
||||
<ng-template #suffixButton>
|
||||
<button nz-button nzType="primary" nzSearch (click)="onSelectUser($event)">{{ 'mxk.text.select' | i18n
|
||||
}}</button>
|
||||
<button nz-button nzType="primary" nzSearch (click)="onSelectUser($event)">{{ 'mxk.text.select' | i18n }}</button>
|
||||
</ng-template>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item *ngIf="isEdit || username !== ''">
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="displayName">{{ 'mxk.users.displayName' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="displayName">{{ 'mxk.users.displayName' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid displayName!">
|
||||
<nz-input-group>
|
||||
<input [(ngModel)]="form.model.displayName" disabled [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="displayName" id="displayName" />
|
||||
<input
|
||||
[(ngModel)]="form.model.displayName"
|
||||
disabled
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="displayName"
|
||||
id="displayName"
|
||||
/>
|
||||
</nz-input-group>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="username">{{ 'mxk.users.username' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="username">{{ 'mxk.users.username' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid username!">
|
||||
<input [(ngModel)]="form.model.username" disabled="true" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="username" id="username" />
|
||||
<input
|
||||
[(ngModel)]="form.model.username"
|
||||
disabled="true"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="username"
|
||||
id="username"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item style="display: none">
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="appId">{{ 'mxk.apps.id' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid appId!">
|
||||
<input [(ngModel)]="form.model.appId" readonly [ngModelOptions]="{ standalone: true }" nz-input name="appId"
|
||||
id="appId" />
|
||||
<input [(ngModel)]="form.model.appId" readonly [ngModelOptions]="{ standalone: true }" nz-input name="appId" id="appId" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item *ngIf="isEdit">
|
||||
<nz-form-label nzRequired [nzSm]="6" [nzXs]="24" nzFor="appName">{{ 'mxk.apps.name' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid appName!">
|
||||
<input [(ngModel)]="form.model.appName" disabled="true" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="appName" id="appName" />
|
||||
<input
|
||||
[(ngModel)]="form.model.appName"
|
||||
disabled="true"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="appName"
|
||||
id="appName"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item *ngIf="!isEdit && username == ''">
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="appName">{{ 'mxk.apps.name' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid appName!">
|
||||
<nz-input-group nzSearch [nzAddOnAfter]="suffixStrategyButton">
|
||||
<input [(ngModel)]="form.model.appName" [ngModelOptions]="{ standalone: true }" nz-input name="appName"
|
||||
id="appName" />
|
||||
<input [(ngModel)]="form.model.appName" [ngModelOptions]="{ standalone: true }" nz-input name="appName" id="appName" />
|
||||
</nz-input-group>
|
||||
<ng-template #suffixStrategyButton>
|
||||
<button nz-button nzType="primary" nzSearch (click)="onSelectApp($event)">{{ 'mxk.text.select' | i18n
|
||||
}}</button>
|
||||
<button nz-button nzType="primary" nzSearch (click)="onSelectApp($event)">{{ 'mxk.text.select' | i18n }}</button>
|
||||
</ng-template>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="relatedUsername">{{ 'mxk.accounts.relatedUsername' | i18n
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid relatedUsername!">
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="relatedUsername">{{ 'mxk.accounts.relatedUsername' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid relatedUsername!">
|
||||
<nz-input-group nzSearch>
|
||||
<input [(ngModel)]="form.model.relatedUsername" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
disabled="{{ isEdit }}" name="relatedUsername" id="relatedUsername" />
|
||||
<input
|
||||
[(ngModel)]="form.model.relatedUsername"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
disabled="{{ isEdit }}"
|
||||
name="relatedUsername"
|
||||
id="relatedUsername"
|
||||
/>
|
||||
</nz-input-group>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="relatedPassword">{{ 'mxk.accounts.relatedPassword' | i18n
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid relatedPassword!">
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="relatedPassword">{{ 'mxk.accounts.relatedPassword' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid relatedPassword!">
|
||||
<nz-input-group nzSearch [nzSuffix]="suffixTemplate" [nzAddOnAfter]="suffixPasswordButton">
|
||||
<input [(ngModel)]="form.model.relatedPassword" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
[type]="passwordVisible ? 'text' : 'password'" name="relatedPassword" id="relatedPassword" />
|
||||
<input
|
||||
[(ngModel)]="form.model.relatedPassword"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
[type]="passwordVisible ? 'text' : 'password'"
|
||||
name="relatedPassword"
|
||||
id="relatedPassword"
|
||||
/>
|
||||
</nz-input-group>
|
||||
<ng-template #suffixTemplate>
|
||||
<i nz-icon [nzType]="passwordVisible ? 'eye-invisible' : 'eye'"
|
||||
(click)="passwordVisible = !passwordVisible"></i>
|
||||
<i nz-icon [nzType]="passwordVisible ? 'eye-invisible' : 'eye'" (click)="passwordVisible = !passwordVisible"></i>
|
||||
</ng-template>
|
||||
<ng-template #suffixPasswordButton>
|
||||
<button nz-button nzType="primary" nzSearch (click)="onPassword($event)">{{ 'mxk.text.generate' | i18n
|
||||
}}</button>
|
||||
<button nz-button nzType="primary" nzSearch (click)="onPassword($event)">{{ 'mxk.text.generate' | i18n }}</button>
|
||||
</ng-template>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
@@ -112,4 +132,4 @@
|
||||
<div *nzModalFooter>
|
||||
<button nz-button nzType="default" (click)="onClose($event)">{{ 'mxk.text.close' | i18n }}</button>
|
||||
<button nz-button nzType="primary" (click)="onSubmit($event)">{{ 'mxk.text.submit' | i18n }}</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -51,9 +51,9 @@ export class AccountEditerComponent implements OnInit {
|
||||
submitting: boolean;
|
||||
model: Accounts;
|
||||
} = {
|
||||
submitting: false,
|
||||
model: new Accounts()
|
||||
};
|
||||
submitting: false,
|
||||
model: new Accounts()
|
||||
};
|
||||
|
||||
formGroup: FormGroup = new FormGroup({});
|
||||
|
||||
@@ -67,7 +67,7 @@ export class AccountEditerComponent implements OnInit {
|
||||
private msg: NzMessageService,
|
||||
@Inject(ALAIN_I18N_TOKEN) private i18n: I18NService,
|
||||
private cdr: ChangeDetectorRef
|
||||
) { }
|
||||
) {}
|
||||
|
||||
ngOnInit(): void {
|
||||
if (this.isEdit) {
|
||||
|
||||
@@ -8,12 +8,18 @@
|
||||
<nz-form-label nzFor="appName">{{ 'mxk.accounts.appName' | i18n }}</nz-form-label>
|
||||
<nz-form-control>
|
||||
<nz-input-group nzSearch [nzAddOnAfter]="suffixButton">
|
||||
<input nz-input [(ngModel)]="query.params.appName" [ngModelOptions]="{ standalone: true }" name="appName"
|
||||
readonly placeholder="" id="appName" />
|
||||
<input
|
||||
nz-input
|
||||
[(ngModel)]="query.params.appName"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
name="appName"
|
||||
readonly
|
||||
placeholder=""
|
||||
id="appName"
|
||||
/>
|
||||
</nz-input-group>
|
||||
<ng-template #suffixButton>
|
||||
<button nz-button nzType="primary" (click)="onSelect($event)" nzSearch>{{ 'mxk.text.select' | i18n
|
||||
}}</button>
|
||||
<button nz-button nzType="primary" (click)="onSelect($event)" nzSearch>{{ 'mxk.text.select' | i18n }}</button>
|
||||
</ng-template>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
@@ -22,18 +28,24 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label nzFor="name">{{ 'mxk.accounts.username' | i18n }}</nz-form-label>
|
||||
<nz-form-control>
|
||||
<input nz-input [(ngModel)]="query.params.username" [ngModelOptions]="{ standalone: true }" name="username"
|
||||
placeholder="" id="username" />
|
||||
<input
|
||||
nz-input
|
||||
[(ngModel)]="query.params.username"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
name="username"
|
||||
placeholder=""
|
||||
id="username"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
|
||||
<div nz-col [nzSpan]="query.expandForm ? 24 : 8" [class.text-right]="query.expandForm">
|
||||
<button nz-button type="submit" [nzType]="'primary'" [nzLoading]="query.submitLoading">{{ 'mxk.text.query' |
|
||||
i18n }}</button>
|
||||
<button nz-button type="submit" [nzType]="'primary'" [nzLoading]="query.submitLoading">{{ 'mxk.text.query' | i18n }}</button>
|
||||
<button nz-button type="reset" (click)="onReset()" class="mx-sm">{{ 'mxk.text.reset' | i18n }}</button>
|
||||
<button nz-button (click)="query.expandForm = !query.expandForm" class="mx-sm" style="display: none">
|
||||
{{ query.expandForm ? ('mxk.text.collapse' | i18n) : ('mxk.text.expand' | i18n) }}</button>
|
||||
{{ query.expandForm ? ('mxk.text.collapse' | i18n) : ('mxk.text.expand' | i18n) }}</button
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
@@ -43,28 +55,43 @@
|
||||
<button nz-button type="button" [nzType]="'primary'" (click)="onAdd($event)">{{ 'mxk.text.add' | i18n }}</button>
|
||||
<button nz-button type="button" (click)="onBatchDelete($event)" [nzType]="'primary'" nzDanger class="mx-sm">{{
|
||||
'mxk.text.delete' | i18n
|
||||
}}</button>
|
||||
}}</button>
|
||||
</div>
|
||||
<nz-table #dynamicTable nzTableLayout="auto" nzSize="small" nzBordered nzShowSizeChanger [nzData]="query.results.rows"
|
||||
[nzFrontPagination]="false" [nzTotal]="query.results.records" [nzPageSizeOptions]="query.params.pageSizeOptions"
|
||||
[nzPageSize]="query.params.pageSize" [nzPageIndex]="query.params.pageNumber" [nzLoading]="this.query.tableLoading"
|
||||
(nzQueryParams)="onQueryParamsChange($event)">
|
||||
<nz-table
|
||||
#dynamicTable
|
||||
nzTableLayout="auto"
|
||||
nzSize="small"
|
||||
nzBordered
|
||||
nzShowSizeChanger
|
||||
[nzData]="query.results.rows"
|
||||
[nzFrontPagination]="false"
|
||||
[nzTotal]="query.results.records"
|
||||
[nzPageSizeOptions]="query.params.pageSizeOptions"
|
||||
[nzPageSize]="query.params.pageSize"
|
||||
[nzPageIndex]="query.params.pageNumber"
|
||||
[nzLoading]="this.query.tableLoading"
|
||||
(nzQueryParams)="onQueryParamsChange($event)"
|
||||
>
|
||||
<thead>
|
||||
<tr>
|
||||
<th [nzChecked]="query.checked" [nzIndeterminate]="query.indeterminate"
|
||||
(nzCheckedChange)="onTableAllChecked($event)"></th>
|
||||
<th [nzChecked]="query.checked" [nzIndeterminate]="query.indeterminate" (nzCheckedChange)="onTableAllChecked($event)"></th>
|
||||
<th nzAlign="center" style="display: none">Id</th>
|
||||
<th nzAlign="center">{{ 'mxk.accounts.username' | i18n }}</th>
|
||||
<th nzAlign="center">{{ 'mxk.accounts.displayName' | i18n }}</th>
|
||||
<th nzAlign="center">{{ 'mxk.accounts.appName' | i18n }}</th>
|
||||
<th nzAlign="center">{{ 'mxk.accounts.relatedUsername' | i18n }}</th>
|
||||
<th nzAlign="center"><a>{{ 'mxk.text.action' | i18n }}</a></th>
|
||||
<th nzAlign="center"
|
||||
><a>{{ 'mxk.text.action' | i18n }}</a></th
|
||||
>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr *ngFor="let data of query.results.rows">
|
||||
<td [nzChecked]="query.tableCheckedId.has(data.id)" [nzDisabled]="data.disabled"
|
||||
(nzCheckedChange)="onTableItemChecked(data.id, $event)"></td>
|
||||
<td
|
||||
[nzChecked]="query.tableCheckedId.has(data.id)"
|
||||
[nzDisabled]="data.disabled"
|
||||
(nzCheckedChange)="onTableItemChecked(data.id, $event)"
|
||||
></td>
|
||||
<td nzAlign="left" style="display: none">
|
||||
<span>{{ data.id }}</span>
|
||||
</td>
|
||||
@@ -75,11 +102,10 @@
|
||||
|
||||
<td nzAlign="left" nzBreakWord="false">
|
||||
<div nz-col>
|
||||
<button nz-button type="button" (click)="onDelete($event, data.id)" nzDanger>{{ 'mxk.text.delete' | i18n
|
||||
}}</button>
|
||||
<button nz-button type="button" (click)="onDelete($event, data.id)" nzDanger>{{ 'mxk.text.delete' | i18n }}</button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</nz-table>
|
||||
</nz-card>
|
||||
</nz-card>
|
||||
|
||||
@@ -63,31 +63,31 @@ export class AccountsComponent implements OnInit {
|
||||
indeterminate: boolean;
|
||||
checked: boolean;
|
||||
} = {
|
||||
params: {
|
||||
username: '',
|
||||
displayName: '',
|
||||
employeeNumber: '',
|
||||
appId: '',
|
||||
appName: '',
|
||||
startDate: '',
|
||||
endDate: '',
|
||||
startDatePicker: addDays(new Date(), -30),
|
||||
endDatePicker: new Date(),
|
||||
pageSize: 10,
|
||||
pageNumber: 1,
|
||||
pageSizeOptions: [10, 20, 50]
|
||||
},
|
||||
results: {
|
||||
records: 0,
|
||||
rows: []
|
||||
},
|
||||
expandForm: false,
|
||||
submitLoading: false,
|
||||
tableLoading: false,
|
||||
tableCheckedId: new Set<String>(),
|
||||
indeterminate: false,
|
||||
checked: false
|
||||
};
|
||||
params: {
|
||||
username: '',
|
||||
displayName: '',
|
||||
employeeNumber: '',
|
||||
appId: '',
|
||||
appName: '',
|
||||
startDate: '',
|
||||
endDate: '',
|
||||
startDatePicker: addDays(new Date(), -30),
|
||||
endDatePicker: new Date(),
|
||||
pageSize: 10,
|
||||
pageNumber: 1,
|
||||
pageSizeOptions: [10, 20, 50]
|
||||
},
|
||||
results: {
|
||||
records: 0,
|
||||
rows: []
|
||||
},
|
||||
expandForm: false,
|
||||
submitLoading: false,
|
||||
tableLoading: false,
|
||||
tableCheckedId: new Set<String>(),
|
||||
indeterminate: false,
|
||||
checked: false
|
||||
};
|
||||
|
||||
constructor(
|
||||
private modalService: NzModalService,
|
||||
@@ -98,7 +98,7 @@ export class AccountsComponent implements OnInit {
|
||||
@Inject(ALAIN_I18N_TOKEN) private i18n: I18NService,
|
||||
private route: ActivatedRoute,
|
||||
private cdr: ChangeDetectorRef
|
||||
) { }
|
||||
) {}
|
||||
|
||||
ngOnInit(): void {
|
||||
if (this.route.snapshot.queryParams['username']) {
|
||||
|
||||
@@ -8,22 +8,24 @@
|
||||
<nz-form-item style="width: 100%">
|
||||
<nz-form-label [nzMd]="8" nzRequired nzFor="id">{{ 'mxk.text.id' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzMd]="16" nzErrorTip="The input is not valid id!">
|
||||
<input [(ngModel)]="form.model.id" readonly [ngModelOptions]="{ standalone: true }" nz-input name="id"
|
||||
id="id" />
|
||||
<input [(ngModel)]="form.model.id" readonly [ngModelOptions]="{ standalone: true }" nz-input name="id" id="id" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item style="width: 100%">
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="secret">{{ 'mxk.apps.secret' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid secret!">
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="secret">{{ 'mxk.apps.secret' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid secret!">
|
||||
<nz-input-group nzSearch [nzAddOnAfter]="suffixPasswordButton">
|
||||
<input [(ngModel)]="form.model.secret" readonly [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="secret" id="secret" />
|
||||
<input
|
||||
[(ngModel)]="form.model.secret"
|
||||
readonly
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="secret"
|
||||
id="secret"
|
||||
/>
|
||||
</nz-input-group>
|
||||
<ng-template #suffixPasswordButton>
|
||||
<button nz-button nzType="primary" nzSearch (click)="onGenerateSecret($event)">{{ 'mxk.text.generate'
|
||||
| i18n }}</button>
|
||||
<button nz-button nzType="primary" nzSearch (click)="onGenerateSecret($event)">{{ 'mxk.text.generate' | i18n }}</button>
|
||||
</ng-template>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
@@ -32,44 +34,57 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="icon">{{ 'mxk.apps.icon' | i18n }}</nz-form-label>
|
||||
<div nz-col class="clearfix" nzSm="16" nzXs="24">
|
||||
<nz-upload nzAction="/file/upload/" nzListType="picture-card" [(nzFileList)]="fileList"
|
||||
nzName="uploadFile" [nzShowButton]="fileList.length < 1" [nzPreview]="handlePreview"
|
||||
(nzChange)="uploadImageChange($event)">
|
||||
<nz-upload
|
||||
nzAction="/file/upload/"
|
||||
nzListType="picture-card"
|
||||
[(nzFileList)]="fileList"
|
||||
nzName="uploadFile"
|
||||
[nzShowButton]="fileList.length < 1"
|
||||
[nzPreview]="handlePreview"
|
||||
(nzChange)="uploadImageChange($event)"
|
||||
>
|
||||
<div>
|
||||
<i nz-icon nzType="plus"></i>
|
||||
<div style="margin-top: 8px">Upload</div>
|
||||
</div>
|
||||
</nz-upload>
|
||||
<nz-modal [nzVisible]="previewVisible" [nzContent]="modalContent" [nzFooter]="null"
|
||||
(nzOnCancel)="previewVisible = false">
|
||||
<nz-modal [nzVisible]="previewVisible" [nzContent]="modalContent" [nzFooter]="null" (nzOnCancel)="previewVisible = false">
|
||||
<ng-template #modalContent>
|
||||
<img [src]="previewImage" [ngStyle]="{ width: '100%' }" />
|
||||
</ng-template>
|
||||
</nz-modal>
|
||||
</div>
|
||||
|
||||
<nz-form-control style="display: none" [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid icon!">
|
||||
<input [(ngModel)]="form.model.iconId" disabled="true" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="icon" id="icon" />
|
||||
<nz-form-control
|
||||
style="display: none"
|
||||
[nzSm]="16"
|
||||
[nzMd]="16"
|
||||
[nzXs]="36"
|
||||
[nzXl]="48"
|
||||
nzErrorTip="The input is not valid icon!"
|
||||
>
|
||||
<input
|
||||
[(ngModel)]="form.model.iconId"
|
||||
disabled="true"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="icon"
|
||||
id="icon"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="appName">{{ 'mxk.apps.name' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="appName">{{ 'mxk.apps.name' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid name!">
|
||||
<input [(ngModel)]="form.model.appName" [ngModelOptions]="{ standalone: true }" nz-input name="appName"
|
||||
id="appName" />
|
||||
<input [(ngModel)]="form.model.appName" [ngModelOptions]="{ standalone: true }" nz-input name="appName" id="appName" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="frequently">{{ 'mxk.apps.frequently' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid frequently!">
|
||||
<nz-radio-group [(ngModel)]="form.model.frequently" [ngModelOptions]="{ standalone: true }"
|
||||
nzButtonStyle="solid">
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid frequently!">
|
||||
<nz-radio-group [(ngModel)]="form.model.frequently" [ngModelOptions]="{ standalone: true }" nzButtonStyle="solid">
|
||||
<label nz-radio-button nzValue="yes">{{ 'mxk.text.yes' | i18n }}</label>
|
||||
<label nz-radio-button nzValue="no">{{ 'mxk.text.no' | i18n }}</label>
|
||||
</nz-radio-group>
|
||||
@@ -78,20 +93,15 @@
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="protocol">{{ 'mxk.apps.protocol' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid protocol!">
|
||||
<input [(ngModel)]="form.model.protocol" [ngModelOptions]="{ standalone: true }" nz-input name="protocol"
|
||||
id="protocol" />
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="protocol">{{ 'mxk.apps.protocol' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid protocol!">
|
||||
<input [(ngModel)]="form.model.protocol" [ngModelOptions]="{ standalone: true }" nz-input name="protocol" id="protocol" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="category">{{ 'mxk.apps.category' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid category!">
|
||||
<nz-select [(ngModel)]="form.model.category" [ngModelOptions]="{ standalone: true }" name="category"
|
||||
id="category">
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid category!">
|
||||
<nz-select [(ngModel)]="form.model.category" [ngModelOptions]="{ standalone: true }" name="category" id="category">
|
||||
<nz-option nzValue="none" nzLabel="{{ 'mxk.apps.category.none' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="1011" nzLabel="{{ 'mxk.apps.category.1011' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="1012" nzLabel="{{ 'mxk.apps.category.1012' | i18n }}"></nz-option>
|
||||
@@ -126,33 +136,31 @@
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item style="width: 100%">
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzRequired nzFor="loginUrl">{{ 'mxk.apps.loginUrl' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid loginUrl!">
|
||||
<input [(ngModel)]="form.model.loginUrl" [ngModelOptions]="{ standalone: true }" nz-input name="loginUrl"
|
||||
id="loginUrl" />
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzRequired nzFor="loginUrl">{{ 'mxk.apps.loginUrl' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid loginUrl!">
|
||||
<input [(ngModel)]="form.model.loginUrl" [ngModelOptions]="{ standalone: true }" nz-input name="loginUrl" id="loginUrl" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="status">{{ 'mxk.text.status' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="status">{{ 'mxk.text.status' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="14" [nzXs]="24" nzErrorTip="The input is not valid status!">
|
||||
<nz-switch [(ngModel)]="form.model.switch_status" [ngModelOptions]="{ standalone: true }" name="status"
|
||||
[nzCheckedChildren]="statuscheckedTemplate" [nzUnCheckedChildren]="statusunCheckedTemplate"></nz-switch>
|
||||
<nz-switch
|
||||
[(ngModel)]="form.model.switch_status"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
name="status"
|
||||
[nzCheckedChildren]="statuscheckedTemplate"
|
||||
[nzUnCheckedChildren]="statusunCheckedTemplate"
|
||||
></nz-switch>
|
||||
<ng-template #statuscheckedTemplate><i nz-icon nzType="check"></i></ng-template>
|
||||
<ng-template #statusunCheckedTemplate><i nz-icon nzType="close"></i></ng-template>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="isExtendAttr">{{ 'mxk.apps.isExtendAttr' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid isExtendAttr!">
|
||||
<nz-radio-group [(ngModel)]="form.model.isExtendAttr" [ngModelOptions]="{ standalone: true }"
|
||||
nzButtonStyle="solid">
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="isExtendAttr">{{ 'mxk.apps.isExtendAttr' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid isExtendAttr!">
|
||||
<nz-radio-group [(ngModel)]="form.model.isExtendAttr" [ngModelOptions]="{ standalone: true }" nzButtonStyle="solid">
|
||||
<label nz-radio-button nzValue="0">{{ 'mxk.text.no' | i18n }}</label>
|
||||
<label nz-radio-button nzValue="1">{{ 'mxk.text.yes' | i18n }}</label>
|
||||
</nz-radio-group>
|
||||
@@ -164,18 +172,14 @@
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="logoutUrl">{{ 'mxk.apps.logoutUrl' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid logoutUrl!">
|
||||
<input [(ngModel)]="form.model.logoutUrl" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="logoutUrl" id="logoutUrl" />
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid logoutUrl!">
|
||||
<input [(ngModel)]="form.model.logoutUrl" [ngModelOptions]="{ standalone: true }" nz-input name="logoutUrl" id="logoutUrl" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="logoutType">{{ 'mxk.apps.logoutType' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid logoutType!">
|
||||
<nz-select [(ngModel)]="form.model.logoutType" [ngModelOptions]="{ standalone: true }" name="logoutType"
|
||||
id="logoutType">
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid logoutType!">
|
||||
<nz-select [(ngModel)]="form.model.logoutType" [ngModelOptions]="{ standalone: true }" name="logoutType" id="logoutType">
|
||||
<nz-option nzValue="0" nzLabel="{{ 'mxk.apps.logoutType.none' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="1" nzLabel="{{ 'mxk.apps.logoutType.back_channel' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="2" nzLabel="{{ 'mxk.apps.logoutType.front_channel' | i18n }}"></nz-option>
|
||||
@@ -187,10 +191,8 @@
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="visible">{{ 'mxk.apps.visible' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid visible!">
|
||||
<nz-select [(ngModel)]="form.model.visible" [ngModelOptions]="{ standalone: true }" name="visible"
|
||||
id="visible">
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid visible!">
|
||||
<nz-select [(ngModel)]="form.model.visible" [ngModelOptions]="{ standalone: true }" name="visible" id="visible">
|
||||
<nz-option nzValue="0" nzLabel="{{ 'mxk.apps.visible.hidden' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="1" nzLabel="{{ 'mxk.apps.visible.all' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="2" nzLabel="{{ 'mxk.apps.visible.internet' | i18n }}"></nz-option>
|
||||
@@ -200,38 +202,30 @@
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="sortIndex">{{ 'mxk.text.sortIndex' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid sortIndex!">
|
||||
<input [(ngModel)]="form.model.sortIndex" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="sortIndex" id="sortIndex" />
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid sortIndex!">
|
||||
<input [(ngModel)]="form.model.sortIndex" [ngModelOptions]="{ standalone: true }" nz-input name="sortIndex" id="sortIndex" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="vendor">{{ 'mxk.apps.vendor' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid vendor!">
|
||||
<input [(ngModel)]="form.model.vendor" [ngModelOptions]="{ standalone: true }" nz-input name="vendor"
|
||||
id="vendor" />
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid vendor!">
|
||||
<input [(ngModel)]="form.model.vendor" [ngModelOptions]="{ standalone: true }" nz-input name="vendor" id="vendor" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="vendorUrl">{{ 'mxk.apps.vendor.url' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid vendorUrl!">
|
||||
<input [(ngModel)]="form.model.vendorUrl" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="vendorUrl" id="vendorUrl" />
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid vendorUrl!">
|
||||
<input [(ngModel)]="form.model.vendorUrl" [ngModelOptions]="{ standalone: true }" nz-input name="vendorUrl" id="vendorUrl" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="isAdapter">{{ 'mxk.apps.isAdapter' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid isAdapter!">
|
||||
<nz-select [(ngModel)]="form.model.isAdapter" [ngModelOptions]="{ standalone: true }" name="isAdapter"
|
||||
id="isAdapter">
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid isAdapter!">
|
||||
<nz-select [(ngModel)]="form.model.isAdapter" [ngModelOptions]="{ standalone: true }" name="isAdapter" id="isAdapter">
|
||||
<nz-option nzValue="0" nzLabel="{{ 'mxk.apps.isAdapter.no' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="1" nzLabel="{{ 'mxk.apps.isAdapter.yes' | i18n }}"></nz-option>
|
||||
</nz-select>
|
||||
@@ -239,32 +233,50 @@
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="adapterName">{{ 'mxk.apps.adapter' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid adapterName!">
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid adapterName!">
|
||||
<nz-input-group nzSearch [nzAddOnAfter]="suffixAdapterButton">
|
||||
<input [(ngModel)]="form.model.adapterName" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="adapterName" id="adapterName" />
|
||||
<input
|
||||
[(ngModel)]="form.model.adapterName"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="adapterName"
|
||||
id="adapterName"
|
||||
/>
|
||||
</nz-input-group>
|
||||
<ng-template #suffixAdapterButton>
|
||||
<button nz-button nzType="primary" nzSearch (click)="onSelectAdapter($event)">{{ 'mxk.text.select' |
|
||||
i18n }}</button>
|
||||
<button nz-button nzType="primary" nzSearch (click)="onSelectAdapter($event)">{{ 'mxk.text.select' | i18n }}</button>
|
||||
</ng-template>
|
||||
|
||||
<input type="hidden" [(ngModel)]="form.model.adapterId" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="adapterId" id="adapterId" />
|
||||
<input type="hidden" [(ngModel)]="form.model.adapter" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="adapter" id="adapter" />
|
||||
<input
|
||||
type="hidden"
|
||||
[(ngModel)]="form.model.adapterId"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="adapterId"
|
||||
id="adapterId"
|
||||
/>
|
||||
<input
|
||||
type="hidden"
|
||||
[(ngModel)]="form.model.adapter"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="adapter"
|
||||
id="adapter"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item style="width: 100%">
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzFor="description">{{ 'mxk.text.description' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid description!">
|
||||
<input [(ngModel)]="form.model.description" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="description" id="description" />
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzFor="description">{{ 'mxk.text.description' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid description!">
|
||||
<input
|
||||
[(ngModel)]="form.model.description"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="description"
|
||||
id="description"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
@@ -289,22 +301,24 @@
|
||||
<td>
|
||||
<button nz-button type="button" (click)="startExtraAttrEdit(data.id)" style="float: left">{{
|
||||
'mxk.text.edit' | i18n
|
||||
}}</button>
|
||||
<button nz-button type="button" (click)="deleteExtraAttrRow(data.id)" nzDanger>{{ 'mxk.text.delete' |
|
||||
i18n }}</button>
|
||||
}}</button>
|
||||
<button nz-button type="button" (click)="deleteExtraAttrRow(data.id)" nzDanger>{{ 'mxk.text.delete' | i18n }}</button>
|
||||
</td>
|
||||
</ng-container>
|
||||
<ng-template #editTemplate>
|
||||
<td><input type="text" nz-input [(ngModel)]="extraAttrEditCache[data.id].data.attr"
|
||||
[ngModelOptions]="{ standalone: true }" /></td>
|
||||
<td><input type="text" nz-input [(ngModel)]="extraAttrEditCache[data.id].data.type"
|
||||
[ngModelOptions]="{ standalone: true }" /></td>
|
||||
<td><input type="text" nz-input [(ngModel)]="extraAttrEditCache[data.id].data.value"
|
||||
[ngModelOptions]="{ standalone: true }" /></td>
|
||||
<td
|
||||
><input type="text" nz-input [(ngModel)]="extraAttrEditCache[data.id].data.attr" [ngModelOptions]="{ standalone: true }"
|
||||
/></td>
|
||||
<td
|
||||
><input type="text" nz-input [(ngModel)]="extraAttrEditCache[data.id].data.type" [ngModelOptions]="{ standalone: true }"
|
||||
/></td>
|
||||
<td
|
||||
><input type="text" nz-input [(ngModel)]="extraAttrEditCache[data.id].data.value" [ngModelOptions]="{ standalone: true }"
|
||||
/></td>
|
||||
<td>
|
||||
<button nz-button type="button" (click)="saveExtraAttrEdit(data.id)" style="float: left">{{
|
||||
'mxk.text.submit' | i18n
|
||||
}}</button>
|
||||
}}</button>
|
||||
</td>
|
||||
</ng-template>
|
||||
</tr>
|
||||
@@ -318,4 +332,4 @@
|
||||
<div *nzModalFooter>
|
||||
<button nz-button nzType="default" (click)="onClose($event)">{{ 'mxk.text.close' | i18n }}</button>
|
||||
<button nz-button nzType="primary" (click)="onSubmit($event)">{{ 'mxk.text.submit' | i18n }}</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -60,9 +60,9 @@ export class AppBasicDetailsEditerComponent implements OnInit {
|
||||
submitting: boolean;
|
||||
model: Apps;
|
||||
} = {
|
||||
submitting: false,
|
||||
model: new Apps()
|
||||
};
|
||||
submitting: false,
|
||||
model: new Apps()
|
||||
};
|
||||
|
||||
formGroup: FormGroup = new FormGroup({});
|
||||
|
||||
@@ -84,7 +84,7 @@ export class AppBasicDetailsEditerComponent implements OnInit {
|
||||
private msg: NzMessageService,
|
||||
@Inject(ALAIN_I18N_TOKEN) private i18n: I18NService,
|
||||
private cdr: ChangeDetectorRef
|
||||
) { }
|
||||
) {}
|
||||
|
||||
ngOnInit(): void {
|
||||
if (this.isEdit) {
|
||||
|
||||
@@ -8,22 +8,24 @@
|
||||
<nz-form-item style="width: 100%">
|
||||
<nz-form-label [nzMd]="8" nzRequired nzFor="id">{{ 'mxk.text.id' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzMd]="16" nzErrorTip="The input is not valid id!">
|
||||
<input [(ngModel)]="form.model.id" readonly [ngModelOptions]="{ standalone: true }" nz-input name="id"
|
||||
id="id" />
|
||||
<input [(ngModel)]="form.model.id" readonly [ngModelOptions]="{ standalone: true }" nz-input name="id" id="id" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item style="width: 100%">
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="secret">{{ 'mxk.apps.secret' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid secret!">
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="secret">{{ 'mxk.apps.secret' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid secret!">
|
||||
<nz-input-group nzSearch [nzAddOnAfter]="suffixPasswordButton">
|
||||
<input [(ngModel)]="form.model.secret" readonly [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="secret" id="secret" />
|
||||
<input
|
||||
[(ngModel)]="form.model.secret"
|
||||
readonly
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="secret"
|
||||
id="secret"
|
||||
/>
|
||||
</nz-input-group>
|
||||
<ng-template #suffixPasswordButton>
|
||||
<button nz-button nzType="primary" nzSearch (click)="onGenerateSecret($event)">{{ 'mxk.text.generate'
|
||||
| i18n }}</button>
|
||||
<button nz-button nzType="primary" nzSearch (click)="onGenerateSecret($event)">{{ 'mxk.text.generate' | i18n }}</button>
|
||||
</ng-template>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
@@ -32,44 +34,57 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="icon">{{ 'mxk.apps.icon' | i18n }}</nz-form-label>
|
||||
<div nz-col class="clearfix" nzSm="16" nzXs="24">
|
||||
<nz-upload nzAction="/file/upload/" nzListType="picture-card" [(nzFileList)]="fileList"
|
||||
nzName="uploadFile" [nzShowButton]="fileList.length < 1" [nzPreview]="handlePreview"
|
||||
(nzChange)="uploadImageChange($event)">
|
||||
<nz-upload
|
||||
nzAction="/file/upload/"
|
||||
nzListType="picture-card"
|
||||
[(nzFileList)]="fileList"
|
||||
nzName="uploadFile"
|
||||
[nzShowButton]="fileList.length < 1"
|
||||
[nzPreview]="handlePreview"
|
||||
(nzChange)="uploadImageChange($event)"
|
||||
>
|
||||
<div>
|
||||
<i nz-icon nzType="plus"></i>
|
||||
<div style="margin-top: 8px">Upload</div>
|
||||
</div>
|
||||
</nz-upload>
|
||||
<nz-modal [nzVisible]="previewVisible" [nzContent]="modalContent" [nzFooter]="null"
|
||||
(nzOnCancel)="previewVisible = false">
|
||||
<nz-modal [nzVisible]="previewVisible" [nzContent]="modalContent" [nzFooter]="null" (nzOnCancel)="previewVisible = false">
|
||||
<ng-template #modalContent>
|
||||
<img [src]="previewImage" [ngStyle]="{ width: '100%' }" />
|
||||
</ng-template>
|
||||
</nz-modal>
|
||||
</div>
|
||||
|
||||
<nz-form-control style="display: none" [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid icon!">
|
||||
<input [(ngModel)]="form.model.iconId" disabled="true" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="icon" id="icon" />
|
||||
<nz-form-control
|
||||
style="display: none"
|
||||
[nzSm]="16"
|
||||
[nzMd]="16"
|
||||
[nzXs]="36"
|
||||
[nzXl]="48"
|
||||
nzErrorTip="The input is not valid icon!"
|
||||
>
|
||||
<input
|
||||
[(ngModel)]="form.model.iconId"
|
||||
disabled="true"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="icon"
|
||||
id="icon"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="appName">{{ 'mxk.apps.name' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="appName">{{ 'mxk.apps.name' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid name!">
|
||||
<input [(ngModel)]="form.model.appName" [ngModelOptions]="{ standalone: true }" nz-input name="appName"
|
||||
id="appName" />
|
||||
<input [(ngModel)]="form.model.appName" [ngModelOptions]="{ standalone: true }" nz-input name="appName" id="appName" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="frequently">{{ 'mxk.apps.frequently' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid frequently!">
|
||||
<nz-radio-group [(ngModel)]="form.model.frequently" [ngModelOptions]="{ standalone: true }"
|
||||
nzButtonStyle="solid">
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid frequently!">
|
||||
<nz-radio-group [(ngModel)]="form.model.frequently" [ngModelOptions]="{ standalone: true }" nzButtonStyle="solid">
|
||||
<label nz-radio-button nzValue="yes">{{ 'mxk.text.yes' | i18n }}</label>
|
||||
<label nz-radio-button nzValue="no">{{ 'mxk.text.no' | i18n }}</label>
|
||||
</nz-radio-group>
|
||||
@@ -78,20 +93,15 @@
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="protocol">{{ 'mxk.apps.protocol' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid protocol!">
|
||||
<input [(ngModel)]="form.model.protocol" [ngModelOptions]="{ standalone: true }" nz-input name="protocol"
|
||||
id="protocol" />
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="protocol">{{ 'mxk.apps.protocol' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid protocol!">
|
||||
<input [(ngModel)]="form.model.protocol" [ngModelOptions]="{ standalone: true }" nz-input name="protocol" id="protocol" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="category">{{ 'mxk.apps.category' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid category!">
|
||||
<nz-select [(ngModel)]="form.model.category" [ngModelOptions]="{ standalone: true }" name="category"
|
||||
id="category">
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid category!">
|
||||
<nz-select [(ngModel)]="form.model.category" [ngModelOptions]="{ standalone: true }" name="category" id="category">
|
||||
<nz-option nzValue="none" nzLabel="{{ 'mxk.apps.category.none' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="1011" nzLabel="{{ 'mxk.apps.category.1011' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="1012" nzLabel="{{ 'mxk.apps.category.1012' | i18n }}"></nz-option>
|
||||
@@ -126,33 +136,31 @@
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item style="width: 100%">
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzRequired nzFor="loginUrl">{{ 'mxk.apps.loginUrl' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid loginUrl!">
|
||||
<input [(ngModel)]="form.model.loginUrl" [ngModelOptions]="{ standalone: true }" nz-input name="loginUrl"
|
||||
id="loginUrl" />
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzRequired nzFor="loginUrl">{{ 'mxk.apps.loginUrl' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid loginUrl!">
|
||||
<input [(ngModel)]="form.model.loginUrl" [ngModelOptions]="{ standalone: true }" nz-input name="loginUrl" id="loginUrl" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="status">{{ 'mxk.text.status' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="status">{{ 'mxk.text.status' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="14" [nzXs]="24" nzErrorTip="The input is not valid status!">
|
||||
<nz-switch [(ngModel)]="form.model.switch_status" [ngModelOptions]="{ standalone: true }" name="status"
|
||||
[nzCheckedChildren]="statuscheckedTemplate" [nzUnCheckedChildren]="statusunCheckedTemplate"></nz-switch>
|
||||
<nz-switch
|
||||
[(ngModel)]="form.model.switch_status"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
name="status"
|
||||
[nzCheckedChildren]="statuscheckedTemplate"
|
||||
[nzUnCheckedChildren]="statusunCheckedTemplate"
|
||||
></nz-switch>
|
||||
<ng-template #statuscheckedTemplate><i nz-icon nzType="check"></i></ng-template>
|
||||
<ng-template #statusunCheckedTemplate><i nz-icon nzType="close"></i></ng-template>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="isExtendAttr">{{ 'mxk.apps.isExtendAttr' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid isExtendAttr!">
|
||||
<nz-radio-group [(ngModel)]="form.model.isExtendAttr" [ngModelOptions]="{ standalone: true }"
|
||||
nzButtonStyle="solid">
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="isExtendAttr">{{ 'mxk.apps.isExtendAttr' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid isExtendAttr!">
|
||||
<nz-radio-group [(ngModel)]="form.model.isExtendAttr" [ngModelOptions]="{ standalone: true }" nzButtonStyle="solid">
|
||||
<label nz-radio-button nzValue="0">{{ 'mxk.text.no' | i18n }}</label>
|
||||
<label nz-radio-button nzValue="1">{{ 'mxk.text.yes' | i18n }}</label>
|
||||
</nz-radio-group>
|
||||
@@ -163,34 +171,31 @@
|
||||
<nz-tab nzTitle="{{ 'mxk.apps.cas.tab' | i18n }}">
|
||||
<div nz-row>
|
||||
<nz-form-item style="width: 100%">
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzRequired nzFor="service">{{ 'mxk.apps.cas.service' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid service!">
|
||||
<input [(ngModel)]="form.model.service" [ngModelOptions]="{ standalone: true }" nz-input name="service"
|
||||
id="service" />
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzRequired nzFor="service">{{ 'mxk.apps.cas.service' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid service!">
|
||||
<input [(ngModel)]="form.model.service" [ngModelOptions]="{ standalone: true }" nz-input name="service" id="service" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item style="width: 100%">
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzRequired nzFor="callbackUrl">{{ 'mxk.apps.cas.callbackUrl' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid callbackUrl!">
|
||||
<input [(ngModel)]="form.model.callbackUrl" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="callbackUrl" id="callbackUrl" />
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzRequired nzFor="callbackUrl">{{ 'mxk.apps.cas.callbackUrl' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid callbackUrl!">
|
||||
<input
|
||||
[(ngModel)]="form.model.callbackUrl"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="callbackUrl"
|
||||
id="callbackUrl"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="casUser">{{ 'mxk.apps.cas.casUser' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid casUser!">
|
||||
<nz-select [(ngModel)]="form.model.casUser" [ngModelOptions]="{ standalone: true }" name="category"
|
||||
id="category">
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="casUser">{{ 'mxk.apps.cas.casUser' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid casUser!">
|
||||
<nz-select [(ngModel)]="form.model.casUser" [ngModelOptions]="{ standalone: true }" name="category" id="category">
|
||||
<nz-option nzValue="username" nzLabel="{{ 'mxk.users.username' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="employeeNumber" nzLabel="{{ 'mxk.users.employeeNumber' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="email" nzLabel="{{ 'mxk.users.email' | i18n }}"></nz-option>
|
||||
@@ -201,13 +206,10 @@
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="expires">{{ 'mxk.apps.cas.expires' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid expires!">
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="expires">{{ 'mxk.apps.cas.expires' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid expires!">
|
||||
<nz-input-group nzAddOnAfter="{{ 'mxk.text.second' | i18n }}">
|
||||
<input [(ngModel)]="form.model.expires" [ngModelOptions]="{ standalone: true }" nz-input name="expires"
|
||||
id="expires" />
|
||||
<input [(ngModel)]="form.model.expires" [ngModelOptions]="{ standalone: true }" nz-input name="expires" id="expires" />
|
||||
</nz-input-group>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
@@ -217,18 +219,14 @@
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="logoutUrl">{{ 'mxk.apps.logoutUrl' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid logoutUrl!">
|
||||
<input [(ngModel)]="form.model.logoutUrl" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="logoutUrl" id="logoutUrl" />
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid logoutUrl!">
|
||||
<input [(ngModel)]="form.model.logoutUrl" [ngModelOptions]="{ standalone: true }" nz-input name="logoutUrl" id="logoutUrl" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="logoutType">{{ 'mxk.apps.logoutType' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid logoutType!">
|
||||
<nz-select [(ngModel)]="form.model.logoutType" [ngModelOptions]="{ standalone: true }" name="logoutType"
|
||||
id="logoutType">
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid logoutType!">
|
||||
<nz-select [(ngModel)]="form.model.logoutType" [ngModelOptions]="{ standalone: true }" name="logoutType" id="logoutType">
|
||||
<nz-option nzValue="0" nzLabel="{{ 'mxk.apps.logoutType.none' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="1" nzLabel="{{ 'mxk.apps.logoutType.back_channel' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="2" nzLabel="{{ 'mxk.apps.logoutType.front_channel' | i18n }}"></nz-option>
|
||||
@@ -240,10 +238,8 @@
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="visible">{{ 'mxk.apps.visible' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid visible!">
|
||||
<nz-select [(ngModel)]="form.model.visible" [ngModelOptions]="{ standalone: true }" name="visible"
|
||||
id="visible">
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid visible!">
|
||||
<nz-select [(ngModel)]="form.model.visible" [ngModelOptions]="{ standalone: true }" name="visible" id="visible">
|
||||
<nz-option nzValue="0" nzLabel="{{ 'mxk.apps.visible.hidden' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="1" nzLabel="{{ 'mxk.apps.visible.all' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="2" nzLabel="{{ 'mxk.apps.visible.internet' | i18n }}"></nz-option>
|
||||
@@ -253,38 +249,30 @@
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="sortIndex">{{ 'mxk.text.sortIndex' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid sortIndex!">
|
||||
<input [(ngModel)]="form.model.sortIndex" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="sortIndex" id="sortIndex" />
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid sortIndex!">
|
||||
<input [(ngModel)]="form.model.sortIndex" [ngModelOptions]="{ standalone: true }" nz-input name="sortIndex" id="sortIndex" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="vendor">{{ 'mxk.apps.vendor' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid vendor!">
|
||||
<input [(ngModel)]="form.model.vendor" [ngModelOptions]="{ standalone: true }" nz-input name="vendor"
|
||||
id="vendor" />
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid vendor!">
|
||||
<input [(ngModel)]="form.model.vendor" [ngModelOptions]="{ standalone: true }" nz-input name="vendor" id="vendor" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="vendorUrl">{{ 'mxk.apps.vendor.url' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid vendorUrl!">
|
||||
<input [(ngModel)]="form.model.vendorUrl" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="vendorUrl" id="vendorUrl" />
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid vendorUrl!">
|
||||
<input [(ngModel)]="form.model.vendorUrl" [ngModelOptions]="{ standalone: true }" nz-input name="vendorUrl" id="vendorUrl" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="isAdapter">{{ 'mxk.apps.isAdapter' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid isAdapter!">
|
||||
<nz-select [(ngModel)]="form.model.isAdapter" [ngModelOptions]="{ standalone: true }" name="isAdapter"
|
||||
id="isAdapter">
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid isAdapter!">
|
||||
<nz-select [(ngModel)]="form.model.isAdapter" [ngModelOptions]="{ standalone: true }" name="isAdapter" id="isAdapter">
|
||||
<nz-option nzValue="0" nzLabel="{{ 'mxk.apps.isAdapter.no' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="1" nzLabel="{{ 'mxk.apps.isAdapter.yes' | i18n }}"></nz-option>
|
||||
</nz-select>
|
||||
@@ -292,31 +280,49 @@
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="adapterName">{{ 'mxk.apps.adapter' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid adapterName!">
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid adapterName!">
|
||||
<nz-input-group nzSearch [nzAddOnAfter]="suffixAdapterButton">
|
||||
<input [(ngModel)]="form.model.adapterName" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="adapterName" id="adapterName" />
|
||||
<input
|
||||
[(ngModel)]="form.model.adapterName"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="adapterName"
|
||||
id="adapterName"
|
||||
/>
|
||||
</nz-input-group>
|
||||
<ng-template #suffixAdapterButton>
|
||||
<button nz-button nzType="primary" nzSearch (click)="onSelectAdapter($event)">{{ 'mxk.text.select' |
|
||||
i18n }}</button>
|
||||
<button nz-button nzType="primary" nzSearch (click)="onSelectAdapter($event)">{{ 'mxk.text.select' | i18n }}</button>
|
||||
</ng-template>
|
||||
<input type="hidden" [(ngModel)]="form.model.adapterId" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="adapterId" id="adapterId" />
|
||||
<input type="hidden" [(ngModel)]="form.model.adapter" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="adapter" id="adapter" />
|
||||
<input
|
||||
type="hidden"
|
||||
[(ngModel)]="form.model.adapterId"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="adapterId"
|
||||
id="adapterId"
|
||||
/>
|
||||
<input
|
||||
type="hidden"
|
||||
[(ngModel)]="form.model.adapter"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="adapter"
|
||||
id="adapter"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item style="width: 100%">
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzFor="description">{{ 'mxk.text.description' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid description!">
|
||||
<input [(ngModel)]="form.model.description" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="description" id="description" />
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzFor="description">{{ 'mxk.text.description' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid description!">
|
||||
<input
|
||||
[(ngModel)]="form.model.description"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="description"
|
||||
id="description"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
@@ -341,22 +347,24 @@
|
||||
<td>
|
||||
<button nz-button type="button" (click)="startExtraAttrEdit(data.id)" style="float: left">{{
|
||||
'mxk.text.edit' | i18n
|
||||
}}</button>
|
||||
<button nz-button type="button" (click)="deleteExtraAttrRow(data.id)" nzDanger>{{ 'mxk.text.delete' |
|
||||
i18n }}</button>
|
||||
}}</button>
|
||||
<button nz-button type="button" (click)="deleteExtraAttrRow(data.id)" nzDanger>{{ 'mxk.text.delete' | i18n }}</button>
|
||||
</td>
|
||||
</ng-container>
|
||||
<ng-template #editTemplate>
|
||||
<td><input type="text" nz-input [(ngModel)]="extraAttrEditCache[data.id].data.attr"
|
||||
[ngModelOptions]="{ standalone: true }" /></td>
|
||||
<td><input type="text" nz-input [(ngModel)]="extraAttrEditCache[data.id].data.type"
|
||||
[ngModelOptions]="{ standalone: true }" /></td>
|
||||
<td><input type="text" nz-input [(ngModel)]="extraAttrEditCache[data.id].data.value"
|
||||
[ngModelOptions]="{ standalone: true }" /></td>
|
||||
<td
|
||||
><input type="text" nz-input [(ngModel)]="extraAttrEditCache[data.id].data.attr" [ngModelOptions]="{ standalone: true }"
|
||||
/></td>
|
||||
<td
|
||||
><input type="text" nz-input [(ngModel)]="extraAttrEditCache[data.id].data.type" [ngModelOptions]="{ standalone: true }"
|
||||
/></td>
|
||||
<td
|
||||
><input type="text" nz-input [(ngModel)]="extraAttrEditCache[data.id].data.value" [ngModelOptions]="{ standalone: true }"
|
||||
/></td>
|
||||
<td>
|
||||
<button nz-button type="button" (click)="saveExtraAttrEdit(data.id)" style="float: left">{{
|
||||
'mxk.text.submit' | i18n
|
||||
}}</button>
|
||||
}}</button>
|
||||
</td>
|
||||
</ng-template>
|
||||
</tr>
|
||||
@@ -370,4 +378,4 @@
|
||||
<div *nzModalFooter>
|
||||
<button nz-button nzType="default" (click)="onClose($event)">{{ 'mxk.text.close' | i18n }}</button>
|
||||
<button nz-button nzType="primary" (click)="onSubmit($event)">{{ 'mxk.text.submit' | i18n }}</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -60,9 +60,9 @@ export class AppCasDetailsEditerComponent implements OnInit {
|
||||
submitting: boolean;
|
||||
model: AppsCasDetails;
|
||||
} = {
|
||||
submitting: false,
|
||||
model: new AppsCasDetails()
|
||||
};
|
||||
submitting: false,
|
||||
model: new AppsCasDetails()
|
||||
};
|
||||
|
||||
formGroup: FormGroup = new FormGroup({});
|
||||
|
||||
@@ -84,7 +84,7 @@ export class AppCasDetailsEditerComponent implements OnInit {
|
||||
private msg: NzMessageService,
|
||||
@Inject(ALAIN_I18N_TOKEN) private i18n: I18NService,
|
||||
private cdr: ChangeDetectorRef
|
||||
) { }
|
||||
) {}
|
||||
|
||||
ngOnInit(): void {
|
||||
if (this.isEdit) {
|
||||
|
||||
@@ -8,22 +8,24 @@
|
||||
<nz-form-item style="width: 100%">
|
||||
<nz-form-label [nzMd]="8" nzRequired nzFor="id">{{ 'mxk.text.id' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzMd]="16" nzErrorTip="The input is not valid id!">
|
||||
<input [(ngModel)]="form.model.id" readonly [ngModelOptions]="{ standalone: true }" nz-input name="id"
|
||||
id="id" />
|
||||
<input [(ngModel)]="form.model.id" readonly [ngModelOptions]="{ standalone: true }" nz-input name="id" id="id" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item style="width: 100%">
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="secret">{{ 'mxk.apps.secret' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid secret!">
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="secret">{{ 'mxk.apps.secret' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid secret!">
|
||||
<nz-input-group nzSearch [nzAddOnAfter]="suffixPasswordButton">
|
||||
<input [(ngModel)]="form.model.secret" readonly [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="secret" id="secret" />
|
||||
<input
|
||||
[(ngModel)]="form.model.secret"
|
||||
readonly
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="secret"
|
||||
id="secret"
|
||||
/>
|
||||
</nz-input-group>
|
||||
<ng-template #suffixPasswordButton>
|
||||
<button nz-button nzType="primary" nzSearch (click)="onGenerateSecret($event)">{{ 'mxk.text.generate'
|
||||
| i18n }}</button>
|
||||
<button nz-button nzType="primary" nzSearch (click)="onGenerateSecret($event)">{{ 'mxk.text.generate' | i18n }}</button>
|
||||
</ng-template>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
@@ -32,44 +34,57 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="icon">{{ 'mxk.apps.icon' | i18n }}</nz-form-label>
|
||||
<div nz-col class="clearfix" nzSm="16" nzXs="24">
|
||||
<nz-upload nzAction="/file/upload/" nzListType="picture-card" [(nzFileList)]="fileList"
|
||||
nzName="uploadFile" [nzShowButton]="fileList.length < 1" [nzPreview]="handlePreview"
|
||||
(nzChange)="uploadImageChange($event)">
|
||||
<nz-upload
|
||||
nzAction="/file/upload/"
|
||||
nzListType="picture-card"
|
||||
[(nzFileList)]="fileList"
|
||||
nzName="uploadFile"
|
||||
[nzShowButton]="fileList.length < 1"
|
||||
[nzPreview]="handlePreview"
|
||||
(nzChange)="uploadImageChange($event)"
|
||||
>
|
||||
<div>
|
||||
<i nz-icon nzType="plus"></i>
|
||||
<div style="margin-top: 8px">Upload</div>
|
||||
</div>
|
||||
</nz-upload>
|
||||
<nz-modal [nzVisible]="previewVisible" [nzContent]="modalContent" [nzFooter]="null"
|
||||
(nzOnCancel)="previewVisible = false">
|
||||
<nz-modal [nzVisible]="previewVisible" [nzContent]="modalContent" [nzFooter]="null" (nzOnCancel)="previewVisible = false">
|
||||
<ng-template #modalContent>
|
||||
<img [src]="previewImage" [ngStyle]="{ width: '100%' }" />
|
||||
</ng-template>
|
||||
</nz-modal>
|
||||
</div>
|
||||
|
||||
<nz-form-control style="display: none" [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid icon!">
|
||||
<input [(ngModel)]="form.model.iconId" disabled="true" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="icon" id="icon" />
|
||||
<nz-form-control
|
||||
style="display: none"
|
||||
[nzSm]="16"
|
||||
[nzMd]="16"
|
||||
[nzXs]="36"
|
||||
[nzXl]="48"
|
||||
nzErrorTip="The input is not valid icon!"
|
||||
>
|
||||
<input
|
||||
[(ngModel)]="form.model.iconId"
|
||||
disabled="true"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="icon"
|
||||
id="icon"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="appName">{{ 'mxk.apps.name' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="appName">{{ 'mxk.apps.name' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid name!">
|
||||
<input [(ngModel)]="form.model.appName" [ngModelOptions]="{ standalone: true }" nz-input name="appName"
|
||||
id="appName" />
|
||||
<input [(ngModel)]="form.model.appName" [ngModelOptions]="{ standalone: true }" nz-input name="appName" id="appName" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="frequently">{{ 'mxk.apps.frequently' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid frequently!">
|
||||
<nz-radio-group [(ngModel)]="form.model.frequently" [ngModelOptions]="{ standalone: true }"
|
||||
nzButtonStyle="solid">
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid frequently!">
|
||||
<nz-radio-group [(ngModel)]="form.model.frequently" [ngModelOptions]="{ standalone: true }" nzButtonStyle="solid">
|
||||
<label nz-radio-button nzValue="yes">{{ 'mxk.text.yes' | i18n }}</label>
|
||||
<label nz-radio-button nzValue="no">{{ 'mxk.text.no' | i18n }}</label>
|
||||
</nz-radio-group>
|
||||
@@ -78,20 +93,15 @@
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="protocol">{{ 'mxk.apps.protocol' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid protocol!">
|
||||
<input [(ngModel)]="form.model.protocol" [ngModelOptions]="{ standalone: true }" nz-input name="protocol"
|
||||
id="protocol" />
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="protocol">{{ 'mxk.apps.protocol' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid protocol!">
|
||||
<input [(ngModel)]="form.model.protocol" [ngModelOptions]="{ standalone: true }" nz-input name="protocol" id="protocol" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="category">{{ 'mxk.apps.category' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid category!">
|
||||
<nz-select [(ngModel)]="form.model.category" [ngModelOptions]="{ standalone: true }" name="category"
|
||||
id="category">
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid category!">
|
||||
<nz-select [(ngModel)]="form.model.category" [ngModelOptions]="{ standalone: true }" name="category" id="category">
|
||||
<nz-option nzValue="none" nzLabel="{{ 'mxk.apps.category.none' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="1011" nzLabel="{{ 'mxk.apps.category.1011' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="1012" nzLabel="{{ 'mxk.apps.category.1012' | i18n }}"></nz-option>
|
||||
@@ -126,33 +136,31 @@
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item style="width: 100%">
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzRequired nzFor="loginUrl">{{ 'mxk.apps.loginUrl' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid loginUrl!">
|
||||
<input [(ngModel)]="form.model.loginUrl" [ngModelOptions]="{ standalone: true }" nz-input name="loginUrl"
|
||||
id="loginUrl" />
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzRequired nzFor="loginUrl">{{ 'mxk.apps.loginUrl' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid loginUrl!">
|
||||
<input [(ngModel)]="form.model.loginUrl" [ngModelOptions]="{ standalone: true }" nz-input name="loginUrl" id="loginUrl" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="status">{{ 'mxk.text.status' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="status">{{ 'mxk.text.status' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="14" [nzXs]="24" nzErrorTip="The input is not valid status!">
|
||||
<nz-switch [(ngModel)]="form.model.switch_status" [ngModelOptions]="{ standalone: true }" name="status"
|
||||
[nzCheckedChildren]="statuscheckedTemplate" [nzUnCheckedChildren]="statusunCheckedTemplate"></nz-switch>
|
||||
<nz-switch
|
||||
[(ngModel)]="form.model.switch_status"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
name="status"
|
||||
[nzCheckedChildren]="statuscheckedTemplate"
|
||||
[nzUnCheckedChildren]="statusunCheckedTemplate"
|
||||
></nz-switch>
|
||||
<ng-template #statuscheckedTemplate><i nz-icon nzType="check"></i></ng-template>
|
||||
<ng-template #statusunCheckedTemplate><i nz-icon nzType="close"></i></ng-template>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="isExtendAttr">{{ 'mxk.apps.isExtendAttr' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid isExtendAttr!">
|
||||
<nz-radio-group [(ngModel)]="form.model.isExtendAttr" [ngModelOptions]="{ standalone: true }"
|
||||
nzButtonStyle="solid">
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="isExtendAttr">{{ 'mxk.apps.isExtendAttr' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid isExtendAttr!">
|
||||
<nz-radio-group [(ngModel)]="form.model.isExtendAttr" [ngModelOptions]="{ standalone: true }" nzButtonStyle="solid">
|
||||
<label nz-radio-button nzValue="0">{{ 'mxk.text.no' | i18n }}</label>
|
||||
<label nz-radio-button nzValue="1">{{ 'mxk.text.yes' | i18n }}</label>
|
||||
</nz-radio-group>
|
||||
@@ -163,21 +171,21 @@
|
||||
<nz-tab nzTitle="{{ 'mxk.apps.extendapi.tab' | i18n }}">
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="principal">{{ 'mxk.apps.principal' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid principal!">
|
||||
<input [(ngModel)]="form.model.principal" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="principal" id="principal" />
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="principal">{{ 'mxk.apps.principal' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid principal!">
|
||||
<input [(ngModel)]="form.model.principal" [ngModelOptions]="{ standalone: true }" nz-input name="principal" id="principal" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="credentials">{{ 'mxk.apps.credentials' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid credentials!">
|
||||
<input [(ngModel)]="form.model.credentials" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="credentials" id="credentials" />
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="credentials">{{ 'mxk.apps.credentials' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid credentials!">
|
||||
<input
|
||||
[(ngModel)]="form.model.credentials"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="credentials"
|
||||
id="credentials"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
@@ -185,10 +193,8 @@
|
||||
<div nz-row>
|
||||
<nz-form-item style="width: 100%">
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzFor="credential">{{ 'mxk.apps.credential' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="20" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid credential!">
|
||||
<nz-radio-group [(ngModel)]="form.model.credential" [ngModelOptions]="{ standalone: true }"
|
||||
nzButtonStyle="solid">
|
||||
<nz-form-control [nzSm]="20" [nzMd]="20" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid credential!">
|
||||
<nz-radio-group [(ngModel)]="form.model.credential" [ngModelOptions]="{ standalone: true }" nzButtonStyle="solid">
|
||||
<label nz-radio-button nzValue="user-defined">{{ 'mxk.apps.credential.user-defined' | i18n }}</label>
|
||||
<label nz-radio-button nzValue="shared">{{ 'mxk.apps.credential.shared' | i18n }}</label>
|
||||
<label nz-radio-button nzValue="system">{{ 'mxk.apps.credential.system' | i18n }}</label>
|
||||
@@ -198,12 +204,14 @@
|
||||
</div>
|
||||
<div nz-row style="{{ form.model.credential == 'system' ? '' : 'display: none;' }}">
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="systemUserAttr">{{ 'mxk.apps.systemUserAttr' | i18n
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid systemUserAttr!">
|
||||
<nz-select [(ngModel)]="form.model.systemUserAttr" [ngModelOptions]="{ standalone: true }"
|
||||
name="systemUserAttr" id="systemUserAttr">
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="systemUserAttr">{{ 'mxk.apps.systemUserAttr' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid systemUserAttr!">
|
||||
<nz-select
|
||||
[(ngModel)]="form.model.systemUserAttr"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
name="systemUserAttr"
|
||||
id="systemUserAttr"
|
||||
>
|
||||
<nz-option nzValue="username" nzLabel="{{ 'mxk.users.username' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="employeeNumber" nzLabel="{{ 'mxk.users.employeeNumber' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="email" nzLabel="{{ 'mxk.users.email' | i18n }}"></nz-option>
|
||||
@@ -218,21 +226,29 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="sharedUsername">{{
|
||||
'mxk.apps.credential.sharedUsername' | i18n
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid sharedUsername!">
|
||||
<input [(ngModel)]="form.model.sharedUsername" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="sharedUsername" id="sharedUsername" />
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid sharedUsername!">
|
||||
<input
|
||||
[(ngModel)]="form.model.sharedUsername"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="sharedUsername"
|
||||
id="sharedUsername"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="sharedPassword">{{
|
||||
'mxk.apps.credential.sharedPassword' | i18n
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid sharedPassword!">
|
||||
<input [(ngModel)]="form.model.sharedPassword" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="sharedPassword" id="sharedPassword" />
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid sharedPassword!">
|
||||
<input
|
||||
[(ngModel)]="form.model.sharedPassword"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="sharedPassword"
|
||||
id="sharedPassword"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
@@ -241,18 +257,14 @@
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="logoutUrl">{{ 'mxk.apps.logoutUrl' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid logoutUrl!">
|
||||
<input [(ngModel)]="form.model.logoutUrl" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="logoutUrl" id="logoutUrl" />
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid logoutUrl!">
|
||||
<input [(ngModel)]="form.model.logoutUrl" [ngModelOptions]="{ standalone: true }" nz-input name="logoutUrl" id="logoutUrl" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="logoutType">{{ 'mxk.apps.logoutType' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid logoutType!">
|
||||
<nz-select [(ngModel)]="form.model.logoutType" [ngModelOptions]="{ standalone: true }" name="logoutType"
|
||||
id="logoutType">
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid logoutType!">
|
||||
<nz-select [(ngModel)]="form.model.logoutType" [ngModelOptions]="{ standalone: true }" name="logoutType" id="logoutType">
|
||||
<nz-option nzValue="0" nzLabel="{{ 'mxk.apps.logoutType.none' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="1" nzLabel="{{ 'mxk.apps.logoutType.back_channel' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="2" nzLabel="{{ 'mxk.apps.logoutType.front_channel' | i18n }}"></nz-option>
|
||||
@@ -264,10 +276,8 @@
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="visible">{{ 'mxk.apps.visible' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid visible!">
|
||||
<nz-select [(ngModel)]="form.model.visible" [ngModelOptions]="{ standalone: true }" name="visible"
|
||||
id="visible">
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid visible!">
|
||||
<nz-select [(ngModel)]="form.model.visible" [ngModelOptions]="{ standalone: true }" name="visible" id="visible">
|
||||
<nz-option nzValue="0" nzLabel="{{ 'mxk.apps.visible.hidden' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="1" nzLabel="{{ 'mxk.apps.visible.all' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="2" nzLabel="{{ 'mxk.apps.visible.internet' | i18n }}"></nz-option>
|
||||
@@ -277,38 +287,30 @@
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="sortIndex">{{ 'mxk.text.sortIndex' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid sortIndex!">
|
||||
<input [(ngModel)]="form.model.sortIndex" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="sortIndex" id="sortIndex" />
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid sortIndex!">
|
||||
<input [(ngModel)]="form.model.sortIndex" [ngModelOptions]="{ standalone: true }" nz-input name="sortIndex" id="sortIndex" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="vendor">{{ 'mxk.apps.vendor' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid vendor!">
|
||||
<input [(ngModel)]="form.model.vendor" [ngModelOptions]="{ standalone: true }" nz-input name="vendor"
|
||||
id="vendor" />
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid vendor!">
|
||||
<input [(ngModel)]="form.model.vendor" [ngModelOptions]="{ standalone: true }" nz-input name="vendor" id="vendor" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="vendorUrl">{{ 'mxk.apps.vendor.url' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid vendorUrl!">
|
||||
<input [(ngModel)]="form.model.vendorUrl" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="vendorUrl" id="vendorUrl" />
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid vendorUrl!">
|
||||
<input [(ngModel)]="form.model.vendorUrl" [ngModelOptions]="{ standalone: true }" nz-input name="vendorUrl" id="vendorUrl" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="isAdapter">{{ 'mxk.apps.isAdapter' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid isAdapter!">
|
||||
<nz-select [(ngModel)]="form.model.isAdapter" [ngModelOptions]="{ standalone: true }" name="isAdapter"
|
||||
id="isAdapter">
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid isAdapter!">
|
||||
<nz-select [(ngModel)]="form.model.isAdapter" [ngModelOptions]="{ standalone: true }" name="isAdapter" id="isAdapter">
|
||||
<nz-option nzValue="0" nzLabel="{{ 'mxk.apps.isAdapter.no' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="1" nzLabel="{{ 'mxk.apps.isAdapter.yes' | i18n }}"></nz-option>
|
||||
</nz-select>
|
||||
@@ -316,31 +318,49 @@
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="adapterName">{{ 'mxk.apps.adapter' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid adapterName!">
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid adapterName!">
|
||||
<nz-input-group nzSearch [nzAddOnAfter]="suffixAdapterButton">
|
||||
<input [(ngModel)]="form.model.adapterName" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="adapterName" id="adapterName" />
|
||||
<input
|
||||
[(ngModel)]="form.model.adapterName"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="adapterName"
|
||||
id="adapterName"
|
||||
/>
|
||||
</nz-input-group>
|
||||
<ng-template #suffixAdapterButton>
|
||||
<button nz-button nzType="primary" nzSearch (click)="onSelectAdapter($event)">{{ 'mxk.text.select' |
|
||||
i18n }}</button>
|
||||
<button nz-button nzType="primary" nzSearch (click)="onSelectAdapter($event)">{{ 'mxk.text.select' | i18n }}</button>
|
||||
</ng-template>
|
||||
<input type="hidden" [(ngModel)]="form.model.adapterId" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="adapterId" id="adapterId" />
|
||||
<input type="hidden" [(ngModel)]="form.model.adapter" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="adapter" id="adapter" />
|
||||
<input
|
||||
type="hidden"
|
||||
[(ngModel)]="form.model.adapterId"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="adapterId"
|
||||
id="adapterId"
|
||||
/>
|
||||
<input
|
||||
type="hidden"
|
||||
[(ngModel)]="form.model.adapter"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="adapter"
|
||||
id="adapter"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item style="width: 100%">
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzFor="description">{{ 'mxk.text.description' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid description!">
|
||||
<input [(ngModel)]="form.model.description" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="description" id="description" />
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzFor="description">{{ 'mxk.text.description' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid description!">
|
||||
<input
|
||||
[(ngModel)]="form.model.description"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="description"
|
||||
id="description"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
@@ -365,22 +385,24 @@
|
||||
<td>
|
||||
<button nz-button type="button" (click)="startExtraAttrEdit(data.id)" style="float: left">{{
|
||||
'mxk.text.edit' | i18n
|
||||
}}</button>
|
||||
<button nz-button type="button" (click)="deleteExtraAttrRow(data.id)" nzDanger>{{ 'mxk.text.delete' |
|
||||
i18n }}</button>
|
||||
}}</button>
|
||||
<button nz-button type="button" (click)="deleteExtraAttrRow(data.id)" nzDanger>{{ 'mxk.text.delete' | i18n }}</button>
|
||||
</td>
|
||||
</ng-container>
|
||||
<ng-template #editTemplate>
|
||||
<td><input type="text" nz-input [(ngModel)]="extraAttrEditCache[data.id].data.attr"
|
||||
[ngModelOptions]="{ standalone: true }" /></td>
|
||||
<td><input type="text" nz-input [(ngModel)]="extraAttrEditCache[data.id].data.type"
|
||||
[ngModelOptions]="{ standalone: true }" /></td>
|
||||
<td><input type="text" nz-input [(ngModel)]="extraAttrEditCache[data.id].data.value"
|
||||
[ngModelOptions]="{ standalone: true }" /></td>
|
||||
<td
|
||||
><input type="text" nz-input [(ngModel)]="extraAttrEditCache[data.id].data.attr" [ngModelOptions]="{ standalone: true }"
|
||||
/></td>
|
||||
<td
|
||||
><input type="text" nz-input [(ngModel)]="extraAttrEditCache[data.id].data.type" [ngModelOptions]="{ standalone: true }"
|
||||
/></td>
|
||||
<td
|
||||
><input type="text" nz-input [(ngModel)]="extraAttrEditCache[data.id].data.value" [ngModelOptions]="{ standalone: true }"
|
||||
/></td>
|
||||
<td>
|
||||
<button nz-button type="button" (click)="saveExtraAttrEdit(data.id)" style="float: left">{{
|
||||
'mxk.text.submit' | i18n
|
||||
}}</button>
|
||||
}}</button>
|
||||
</td>
|
||||
</ng-template>
|
||||
</tr>
|
||||
@@ -394,4 +416,4 @@
|
||||
<div *nzModalFooter>
|
||||
<button nz-button nzType="default" (click)="onClose($event)">{{ 'mxk.text.close' | i18n }}</button>
|
||||
<button nz-button nzType="primary" (click)="onSubmit($event)">{{ 'mxk.text.submit' | i18n }}</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -8,22 +8,24 @@
|
||||
<nz-form-item style="width: 100%">
|
||||
<nz-form-label [nzMd]="8" nzRequired nzFor="id">{{ 'mxk.text.id' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzMd]="16" nzErrorTip="The input is not valid id!">
|
||||
<input [(ngModel)]="form.model.id" readonly [ngModelOptions]="{ standalone: true }" nz-input name="id"
|
||||
id="id" />
|
||||
<input [(ngModel)]="form.model.id" readonly [ngModelOptions]="{ standalone: true }" nz-input name="id" id="id" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item style="width: 100%">
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="secret">{{ 'mxk.apps.secret' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid secret!">
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="secret">{{ 'mxk.apps.secret' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid secret!">
|
||||
<nz-input-group nzSearch [nzAddOnAfter]="suffixPasswordButton">
|
||||
<input [(ngModel)]="form.model.secret" readonly [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="secret" id="secret" />
|
||||
<input
|
||||
[(ngModel)]="form.model.secret"
|
||||
readonly
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="secret"
|
||||
id="secret"
|
||||
/>
|
||||
</nz-input-group>
|
||||
<ng-template #suffixPasswordButton>
|
||||
<button nz-button nzType="primary" nzSearch (click)="onGenerateSecret($event)">{{ 'mxk.text.generate'
|
||||
| i18n }}</button>
|
||||
<button nz-button nzType="primary" nzSearch (click)="onGenerateSecret($event)">{{ 'mxk.text.generate' | i18n }}</button>
|
||||
</ng-template>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
@@ -32,44 +34,57 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="icon">{{ 'mxk.apps.icon' | i18n }}</nz-form-label>
|
||||
<div nz-col class="clearfix" nzSm="16" nzXs="24">
|
||||
<nz-upload nzAction="/file/upload/" nzListType="picture-card" [(nzFileList)]="fileList"
|
||||
nzName="uploadFile" [nzShowButton]="fileList.length < 1" [nzPreview]="handlePreview"
|
||||
(nzChange)="uploadImageChange($event)">
|
||||
<nz-upload
|
||||
nzAction="/file/upload/"
|
||||
nzListType="picture-card"
|
||||
[(nzFileList)]="fileList"
|
||||
nzName="uploadFile"
|
||||
[nzShowButton]="fileList.length < 1"
|
||||
[nzPreview]="handlePreview"
|
||||
(nzChange)="uploadImageChange($event)"
|
||||
>
|
||||
<div>
|
||||
<i nz-icon nzType="plus"></i>
|
||||
<div style="margin-top: 8px">Upload</div>
|
||||
</div>
|
||||
</nz-upload>
|
||||
<nz-modal [nzVisible]="previewVisible" [nzContent]="modalContent" [nzFooter]="null"
|
||||
(nzOnCancel)="previewVisible = false">
|
||||
<nz-modal [nzVisible]="previewVisible" [nzContent]="modalContent" [nzFooter]="null" (nzOnCancel)="previewVisible = false">
|
||||
<ng-template #modalContent>
|
||||
<img [src]="previewImage" [ngStyle]="{ width: '100%' }" />
|
||||
</ng-template>
|
||||
</nz-modal>
|
||||
</div>
|
||||
|
||||
<nz-form-control style="display: none" [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid icon!">
|
||||
<input [(ngModel)]="form.model.iconId" disabled="true" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="icon" id="icon" />
|
||||
<nz-form-control
|
||||
style="display: none"
|
||||
[nzSm]="16"
|
||||
[nzMd]="16"
|
||||
[nzXs]="36"
|
||||
[nzXl]="48"
|
||||
nzErrorTip="The input is not valid icon!"
|
||||
>
|
||||
<input
|
||||
[(ngModel)]="form.model.iconId"
|
||||
disabled="true"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="icon"
|
||||
id="icon"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="appName">{{ 'mxk.apps.name' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="appName">{{ 'mxk.apps.name' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid name!">
|
||||
<input [(ngModel)]="form.model.appName" [ngModelOptions]="{ standalone: true }" nz-input name="appName"
|
||||
id="appName" />
|
||||
<input [(ngModel)]="form.model.appName" [ngModelOptions]="{ standalone: true }" nz-input name="appName" id="appName" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="frequently">{{ 'mxk.apps.frequently' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid frequently!">
|
||||
<nz-radio-group [(ngModel)]="form.model.frequently" [ngModelOptions]="{ standalone: true }"
|
||||
nzButtonStyle="solid">
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid frequently!">
|
||||
<nz-radio-group [(ngModel)]="form.model.frequently" [ngModelOptions]="{ standalone: true }" nzButtonStyle="solid">
|
||||
<label nz-radio-button nzValue="yes">{{ 'mxk.text.yes' | i18n }}</label>
|
||||
<label nz-radio-button nzValue="no">{{ 'mxk.text.no' | i18n }}</label>
|
||||
</nz-radio-group>
|
||||
@@ -78,20 +93,15 @@
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="protocol">{{ 'mxk.apps.protocol' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid protocol!">
|
||||
<input [(ngModel)]="form.model.protocol" [ngModelOptions]="{ standalone: true }" nz-input name="protocol"
|
||||
id="protocol" />
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="protocol">{{ 'mxk.apps.protocol' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid protocol!">
|
||||
<input [(ngModel)]="form.model.protocol" [ngModelOptions]="{ standalone: true }" nz-input name="protocol" id="protocol" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="category">{{ 'mxk.apps.category' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid category!">
|
||||
<nz-select [(ngModel)]="form.model.category" [ngModelOptions]="{ standalone: true }" name="category"
|
||||
id="category">
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid category!">
|
||||
<nz-select [(ngModel)]="form.model.category" [ngModelOptions]="{ standalone: true }" name="category" id="category">
|
||||
<nz-option nzValue="none" nzLabel="{{ 'mxk.apps.category.none' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="1011" nzLabel="{{ 'mxk.apps.category.1011' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="1012" nzLabel="{{ 'mxk.apps.category.1012' | i18n }}"></nz-option>
|
||||
@@ -126,33 +136,31 @@
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item style="width: 100%">
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzRequired nzFor="loginUrl">{{ 'mxk.apps.loginUrl' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid loginUrl!">
|
||||
<input [(ngModel)]="form.model.loginUrl" [ngModelOptions]="{ standalone: true }" nz-input name="loginUrl"
|
||||
id="loginUrl" />
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzRequired nzFor="loginUrl">{{ 'mxk.apps.loginUrl' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid loginUrl!">
|
||||
<input [(ngModel)]="form.model.loginUrl" [ngModelOptions]="{ standalone: true }" nz-input name="loginUrl" id="loginUrl" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="status">{{ 'mxk.text.status' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="status">{{ 'mxk.text.status' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="14" [nzXs]="24" nzErrorTip="The input is not valid status!">
|
||||
<nz-switch [(ngModel)]="form.model.switch_status" [ngModelOptions]="{ standalone: true }" name="status"
|
||||
[nzCheckedChildren]="statuscheckedTemplate" [nzUnCheckedChildren]="statusunCheckedTemplate"></nz-switch>
|
||||
<nz-switch
|
||||
[(ngModel)]="form.model.switch_status"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
name="status"
|
||||
[nzCheckedChildren]="statuscheckedTemplate"
|
||||
[nzUnCheckedChildren]="statusunCheckedTemplate"
|
||||
></nz-switch>
|
||||
<ng-template #statuscheckedTemplate><i nz-icon nzType="check"></i></ng-template>
|
||||
<ng-template #statusunCheckedTemplate><i nz-icon nzType="close"></i></ng-template>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="isExtendAttr">{{ 'mxk.apps.isExtendAttr' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid isExtendAttr!">
|
||||
<nz-radio-group [(ngModel)]="form.model.isExtendAttr" [ngModelOptions]="{ standalone: true }"
|
||||
nzButtonStyle="solid">
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="isExtendAttr">{{ 'mxk.apps.isExtendAttr' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid isExtendAttr!">
|
||||
<nz-radio-group [(ngModel)]="form.model.isExtendAttr" [ngModelOptions]="{ standalone: true }" nzButtonStyle="solid">
|
||||
<label nz-radio-button nzValue="0">{{ 'mxk.text.no' | i18n }}</label>
|
||||
<label nz-radio-button nzValue="1">{{ 'mxk.text.yes' | i18n }}</label>
|
||||
</nz-radio-group>
|
||||
@@ -165,11 +173,15 @@
|
||||
<nz-form-item style="width: 100%">
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzRequired nzFor="redirectUri">{{
|
||||
'mxk.apps.formbased.redirectUri' | i18n
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid redirectUri!">
|
||||
<input [(ngModel)]="form.model.redirectUri" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="redirectUri" id="redirectUri" />
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid redirectUri!">
|
||||
<input
|
||||
[(ngModel)]="form.model.redirectUri"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="redirectUri"
|
||||
id="redirectUri"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
@@ -177,42 +189,56 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="usernameMapping">{{
|
||||
'mxk.apps.formbased.usernameMapping' | i18n
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid usernameMapping!">
|
||||
<input [(ngModel)]="form.model.usernameMapping" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="usernameMapping" id="usernameMapping" />
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid usernameMapping!">
|
||||
<input
|
||||
[(ngModel)]="form.model.usernameMapping"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="usernameMapping"
|
||||
id="usernameMapping"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="passwordMapping">{{
|
||||
'mxk.apps.formbased.passwordMapping' | i18n
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid passwordMapping!">
|
||||
<input [(ngModel)]="form.model.passwordMapping" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="passwordMapping" id="passwordMapping" />
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid passwordMapping!">
|
||||
<input
|
||||
[(ngModel)]="form.model.passwordMapping"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="passwordMapping"
|
||||
id="passwordMapping"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="authorizeView">{{ 'mxk.apps.formbased.authorizeView' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid authorizeView!">
|
||||
<input [(ngModel)]="form.model.authorizeView" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="authorizeView" id="authorizeView" />
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="authorizeView">{{ 'mxk.apps.formbased.authorizeView' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid authorizeView!">
|
||||
<input
|
||||
[(ngModel)]="form.model.authorizeView"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="authorizeView"
|
||||
id="authorizeView"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="passwordAlgorithm">{{
|
||||
'mxk.apps.formbased.passwordAlgorithm' | i18n
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid passwordAlgorithm!">
|
||||
<nz-select [(ngModel)]="form.model.passwordAlgorithm" [ngModelOptions]="{ standalone: true }"
|
||||
name="passwordAlgorithm" id="passwordAlgorithm">
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid passwordAlgorithm!">
|
||||
<nz-select
|
||||
[(ngModel)]="form.model.passwordAlgorithm"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
name="passwordAlgorithm"
|
||||
id="passwordAlgorithm"
|
||||
>
|
||||
<nz-option nzValue="NONE" nzLabel="NONE"></nz-option>
|
||||
<nz-option nzValue="MD5" nzLabel="MD5"></nz-option>
|
||||
<nz-option nzValue="SHA" nzLabel="SHA"></nz-option>
|
||||
@@ -234,10 +260,8 @@
|
||||
<div nz-row>
|
||||
<nz-form-item style="width: 100%">
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzFor="credential">{{ 'mxk.apps.credential' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="20" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid credential!">
|
||||
<nz-radio-group [(ngModel)]="form.model.credential" [ngModelOptions]="{ standalone: true }"
|
||||
nzButtonStyle="solid">
|
||||
<nz-form-control [nzSm]="20" [nzMd]="20" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid credential!">
|
||||
<nz-radio-group [(ngModel)]="form.model.credential" [ngModelOptions]="{ standalone: true }" nzButtonStyle="solid">
|
||||
<label nz-radio-button nzValue="user-defined">{{ 'mxk.apps.credential.user-defined' | i18n }}</label>
|
||||
<label nz-radio-button nzValue="shared">{{ 'mxk.apps.credential.shared' | i18n }}</label>
|
||||
<label nz-radio-button nzValue="system">{{ 'mxk.apps.credential.system' | i18n }}</label>
|
||||
@@ -247,12 +271,14 @@
|
||||
</div>
|
||||
<div nz-row style="{{ form.model.credential == 'system' ? '' : 'display: none;' }}">
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="systemUserAttr">{{ 'mxk.apps.systemUserAttr' | i18n
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid systemUserAttr!">
|
||||
<nz-select [(ngModel)]="form.model.systemUserAttr" [ngModelOptions]="{ standalone: true }"
|
||||
name="systemUserAttr" id="systemUserAttr">
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="systemUserAttr">{{ 'mxk.apps.systemUserAttr' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid systemUserAttr!">
|
||||
<nz-select
|
||||
[(ngModel)]="form.model.systemUserAttr"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
name="systemUserAttr"
|
||||
id="systemUserAttr"
|
||||
>
|
||||
<nz-option nzValue="username" nzLabel="{{ 'mxk.users.username' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="employeeNumber" nzLabel="{{ 'mxk.users.employeeNumber' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="email" nzLabel="{{ 'mxk.users.email' | i18n }}"></nz-option>
|
||||
@@ -267,21 +293,29 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="sharedUsername">{{
|
||||
'mxk.apps.credential.sharedUsername' | i18n
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid sharedUsername!">
|
||||
<input [(ngModel)]="form.model.sharedUsername" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="sharedUsername" id="sharedUsername" />
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid sharedUsername!">
|
||||
<input
|
||||
[(ngModel)]="form.model.sharedUsername"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="sharedUsername"
|
||||
id="sharedUsername"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="sharedPassword">{{
|
||||
'mxk.apps.credential.sharedPassword' | i18n
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid sharedPassword!">
|
||||
<input [(ngModel)]="form.model.sharedPassword" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="sharedPassword" id="sharedPassword" />
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid sharedPassword!">
|
||||
<input
|
||||
[(ngModel)]="form.model.sharedPassword"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="sharedPassword"
|
||||
id="sharedPassword"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
@@ -290,18 +324,14 @@
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="logoutUrl">{{ 'mxk.apps.logoutUrl' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid logoutUrl!">
|
||||
<input [(ngModel)]="form.model.logoutUrl" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="logoutUrl" id="logoutUrl" />
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid logoutUrl!">
|
||||
<input [(ngModel)]="form.model.logoutUrl" [ngModelOptions]="{ standalone: true }" nz-input name="logoutUrl" id="logoutUrl" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="logoutType">{{ 'mxk.apps.logoutType' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid logoutType!">
|
||||
<nz-select [(ngModel)]="form.model.logoutType" [ngModelOptions]="{ standalone: true }" name="logoutType"
|
||||
id="logoutType">
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid logoutType!">
|
||||
<nz-select [(ngModel)]="form.model.logoutType" [ngModelOptions]="{ standalone: true }" name="logoutType" id="logoutType">
|
||||
<nz-option nzValue="0" nzLabel="{{ 'mxk.apps.logoutType.none' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="1" nzLabel="{{ 'mxk.apps.logoutType.back_channel' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="2" nzLabel="{{ 'mxk.apps.logoutType.front_channel' | i18n }}"></nz-option>
|
||||
@@ -313,10 +343,8 @@
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="visible">{{ 'mxk.apps.visible' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid visible!">
|
||||
<nz-select [(ngModel)]="form.model.visible" [ngModelOptions]="{ standalone: true }" name="visible"
|
||||
id="visible">
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid visible!">
|
||||
<nz-select [(ngModel)]="form.model.visible" [ngModelOptions]="{ standalone: true }" name="visible" id="visible">
|
||||
<nz-option nzValue="0" nzLabel="{{ 'mxk.apps.visible.hidden' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="1" nzLabel="{{ 'mxk.apps.visible.all' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="2" nzLabel="{{ 'mxk.apps.visible.internet' | i18n }}"></nz-option>
|
||||
@@ -326,38 +354,30 @@
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="sortIndex">{{ 'mxk.text.sortIndex' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid sortIndex!">
|
||||
<input [(ngModel)]="form.model.sortIndex" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="sortIndex" id="sortIndex" />
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid sortIndex!">
|
||||
<input [(ngModel)]="form.model.sortIndex" [ngModelOptions]="{ standalone: true }" nz-input name="sortIndex" id="sortIndex" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="vendor">{{ 'mxk.apps.vendor' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid vendor!">
|
||||
<input [(ngModel)]="form.model.vendor" [ngModelOptions]="{ standalone: true }" nz-input name="vendor"
|
||||
id="vendor" />
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid vendor!">
|
||||
<input [(ngModel)]="form.model.vendor" [ngModelOptions]="{ standalone: true }" nz-input name="vendor" id="vendor" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="vendorUrl">{{ 'mxk.apps.vendor.url' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid vendorUrl!">
|
||||
<input [(ngModel)]="form.model.vendorUrl" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="vendorUrl" id="vendorUrl" />
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid vendorUrl!">
|
||||
<input [(ngModel)]="form.model.vendorUrl" [ngModelOptions]="{ standalone: true }" nz-input name="vendorUrl" id="vendorUrl" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="isAdapter">{{ 'mxk.apps.isAdapter' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid isAdapter!">
|
||||
<nz-select [(ngModel)]="form.model.isAdapter" [ngModelOptions]="{ standalone: true }" name="isAdapter"
|
||||
id="isAdapter">
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid isAdapter!">
|
||||
<nz-select [(ngModel)]="form.model.isAdapter" [ngModelOptions]="{ standalone: true }" name="isAdapter" id="isAdapter">
|
||||
<nz-option nzValue="0" nzLabel="{{ 'mxk.apps.isAdapter.no' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="1" nzLabel="{{ 'mxk.apps.isAdapter.yes' | i18n }}"></nz-option>
|
||||
</nz-select>
|
||||
@@ -365,31 +385,49 @@
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="adapterName">{{ 'mxk.apps.adapter' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid adapterName!">
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid adapterName!">
|
||||
<nz-input-group nzSearch [nzAddOnAfter]="suffixAdapterButton">
|
||||
<input [(ngModel)]="form.model.adapterName" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="adapterName" id="adapterName" />
|
||||
<input
|
||||
[(ngModel)]="form.model.adapterName"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="adapterName"
|
||||
id="adapterName"
|
||||
/>
|
||||
</nz-input-group>
|
||||
<ng-template #suffixAdapterButton>
|
||||
<button nz-button nzType="primary" nzSearch (click)="onSelectAdapter($event)">{{ 'mxk.text.select' |
|
||||
i18n }}</button>
|
||||
<button nz-button nzType="primary" nzSearch (click)="onSelectAdapter($event)">{{ 'mxk.text.select' | i18n }}</button>
|
||||
</ng-template>
|
||||
<input type="hidden" [(ngModel)]="form.model.adapterId" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="adapterId" id="adapterId" />
|
||||
<input type="hidden" [(ngModel)]="form.model.adapter" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="adapter" id="adapter" />
|
||||
<input
|
||||
type="hidden"
|
||||
[(ngModel)]="form.model.adapterId"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="adapterId"
|
||||
id="adapterId"
|
||||
/>
|
||||
<input
|
||||
type="hidden"
|
||||
[(ngModel)]="form.model.adapter"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="adapter"
|
||||
id="adapter"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item style="width: 100%">
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzFor="description">{{ 'mxk.text.description' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid description!">
|
||||
<input [(ngModel)]="form.model.description" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="description" id="description" />
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzFor="description">{{ 'mxk.text.description' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid description!">
|
||||
<input
|
||||
[(ngModel)]="form.model.description"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="description"
|
||||
id="description"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
@@ -414,22 +452,24 @@
|
||||
<td>
|
||||
<button nz-button type="button" (click)="startExtraAttrEdit(data.id)" style="float: left">{{
|
||||
'mxk.text.edit' | i18n
|
||||
}}</button>
|
||||
<button nz-button type="button" (click)="deleteExtraAttrRow(data.id)" nzDanger>{{ 'mxk.text.delete' |
|
||||
i18n }}</button>
|
||||
}}</button>
|
||||
<button nz-button type="button" (click)="deleteExtraAttrRow(data.id)" nzDanger>{{ 'mxk.text.delete' | i18n }}</button>
|
||||
</td>
|
||||
</ng-container>
|
||||
<ng-template #editTemplate>
|
||||
<td><input type="text" nz-input [(ngModel)]="extraAttrEditCache[data.id].data.attr"
|
||||
[ngModelOptions]="{ standalone: true }" /></td>
|
||||
<td><input type="text" nz-input [(ngModel)]="extraAttrEditCache[data.id].data.type"
|
||||
[ngModelOptions]="{ standalone: true }" /></td>
|
||||
<td><input type="text" nz-input [(ngModel)]="extraAttrEditCache[data.id].data.value"
|
||||
[ngModelOptions]="{ standalone: true }" /></td>
|
||||
<td
|
||||
><input type="text" nz-input [(ngModel)]="extraAttrEditCache[data.id].data.attr" [ngModelOptions]="{ standalone: true }"
|
||||
/></td>
|
||||
<td
|
||||
><input type="text" nz-input [(ngModel)]="extraAttrEditCache[data.id].data.type" [ngModelOptions]="{ standalone: true }"
|
||||
/></td>
|
||||
<td
|
||||
><input type="text" nz-input [(ngModel)]="extraAttrEditCache[data.id].data.value" [ngModelOptions]="{ standalone: true }"
|
||||
/></td>
|
||||
<td>
|
||||
<button nz-button type="button" (click)="saveExtraAttrEdit(data.id)" style="float: left">{{
|
||||
'mxk.text.submit' | i18n
|
||||
}}</button>
|
||||
}}</button>
|
||||
</td>
|
||||
</ng-template>
|
||||
</tr>
|
||||
@@ -443,4 +483,4 @@
|
||||
<div *nzModalFooter>
|
||||
<button nz-button nzType="default" (click)="onClose($event)">{{ 'mxk.text.close' | i18n }}</button>
|
||||
<button nz-button nzType="primary" (click)="onSubmit($event)">{{ 'mxk.text.submit' | i18n }}</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -60,9 +60,9 @@ export class AppFormBasedDetailsEditerComponent implements OnInit {
|
||||
submitting: boolean;
|
||||
model: AppsFormBasedDetails;
|
||||
} = {
|
||||
submitting: false,
|
||||
model: new AppsFormBasedDetails()
|
||||
};
|
||||
submitting: false,
|
||||
model: new AppsFormBasedDetails()
|
||||
};
|
||||
|
||||
formGroup: FormGroup = new FormGroup({});
|
||||
|
||||
@@ -85,7 +85,7 @@ export class AppFormBasedDetailsEditerComponent implements OnInit {
|
||||
private msg: NzMessageService,
|
||||
@Inject(ALAIN_I18N_TOKEN) private i18n: I18NService,
|
||||
private cdr: ChangeDetectorRef
|
||||
) { }
|
||||
) {}
|
||||
|
||||
ngOnInit(): void {
|
||||
if (this.isEdit) {
|
||||
|
||||
@@ -8,22 +8,24 @@
|
||||
<nz-form-item style="width: 100%">
|
||||
<nz-form-label [nzMd]="8" nzRequired nzFor="id">{{ 'mxk.text.id' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzMd]="16" nzErrorTip="The input is not valid id!">
|
||||
<input [(ngModel)]="form.model.id" readonly [ngModelOptions]="{ standalone: true }" nz-input name="id"
|
||||
id="id" />
|
||||
<input [(ngModel)]="form.model.id" readonly [ngModelOptions]="{ standalone: true }" nz-input name="id" id="id" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item style="width: 100%">
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="secret">{{ 'mxk.apps.secret' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid secret!">
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="secret">{{ 'mxk.apps.secret' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid secret!">
|
||||
<nz-input-group nzSearch [nzAddOnAfter]="suffixPasswordButton">
|
||||
<input [(ngModel)]="form.model.secret" readonly [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="secret" id="secret" />
|
||||
<input
|
||||
[(ngModel)]="form.model.secret"
|
||||
readonly
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="secret"
|
||||
id="secret"
|
||||
/>
|
||||
</nz-input-group>
|
||||
<ng-template #suffixPasswordButton>
|
||||
<button nz-button nzType="primary" nzSearch (click)="onGenerateSecret($event)">{{ 'mxk.text.generate'
|
||||
| i18n }}</button>
|
||||
<button nz-button nzType="primary" nzSearch (click)="onGenerateSecret($event)">{{ 'mxk.text.generate' | i18n }}</button>
|
||||
</ng-template>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
@@ -32,44 +34,57 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="icon">{{ 'mxk.apps.icon' | i18n }}</nz-form-label>
|
||||
<div nz-col class="clearfix" nzSm="16" nzXs="24">
|
||||
<nz-upload nzAction="/file/upload/" nzListType="picture-card" [(nzFileList)]="fileList"
|
||||
nzName="uploadFile" [nzShowButton]="fileList.length < 1" [nzPreview]="handlePreview"
|
||||
(nzChange)="uploadImageChange($event)">
|
||||
<nz-upload
|
||||
nzAction="/file/upload/"
|
||||
nzListType="picture-card"
|
||||
[(nzFileList)]="fileList"
|
||||
nzName="uploadFile"
|
||||
[nzShowButton]="fileList.length < 1"
|
||||
[nzPreview]="handlePreview"
|
||||
(nzChange)="uploadImageChange($event)"
|
||||
>
|
||||
<div>
|
||||
<i nz-icon nzType="plus"></i>
|
||||
<div style="margin-top: 8px">Upload</div>
|
||||
</div>
|
||||
</nz-upload>
|
||||
<nz-modal [nzVisible]="previewVisible" [nzContent]="modalContent" [nzFooter]="null"
|
||||
(nzOnCancel)="previewVisible = false">
|
||||
<nz-modal [nzVisible]="previewVisible" [nzContent]="modalContent" [nzFooter]="null" (nzOnCancel)="previewVisible = false">
|
||||
<ng-template #modalContent>
|
||||
<img [src]="previewImage" [ngStyle]="{ width: '100%' }" />
|
||||
</ng-template>
|
||||
</nz-modal>
|
||||
</div>
|
||||
|
||||
<nz-form-control style="display: none" [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid icon!">
|
||||
<input [(ngModel)]="form.model.iconId" disabled="true" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="icon" id="icon" />
|
||||
<nz-form-control
|
||||
style="display: none"
|
||||
[nzSm]="16"
|
||||
[nzMd]="16"
|
||||
[nzXs]="36"
|
||||
[nzXl]="48"
|
||||
nzErrorTip="The input is not valid icon!"
|
||||
>
|
||||
<input
|
||||
[(ngModel)]="form.model.iconId"
|
||||
disabled="true"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="icon"
|
||||
id="icon"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="appName">{{ 'mxk.apps.name' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="appName">{{ 'mxk.apps.name' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid name!">
|
||||
<input [(ngModel)]="form.model.appName" [ngModelOptions]="{ standalone: true }" nz-input name="appName"
|
||||
id="appName" />
|
||||
<input [(ngModel)]="form.model.appName" [ngModelOptions]="{ standalone: true }" nz-input name="appName" id="appName" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="frequently">{{ 'mxk.apps.frequently' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid frequently!">
|
||||
<nz-radio-group [(ngModel)]="form.model.frequently" [ngModelOptions]="{ standalone: true }"
|
||||
nzButtonStyle="solid">
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid frequently!">
|
||||
<nz-radio-group [(ngModel)]="form.model.frequently" [ngModelOptions]="{ standalone: true }" nzButtonStyle="solid">
|
||||
<label nz-radio-button nzValue="yes">{{ 'mxk.text.yes' | i18n }}</label>
|
||||
<label nz-radio-button nzValue="no">{{ 'mxk.text.no' | i18n }}</label>
|
||||
</nz-radio-group>
|
||||
@@ -78,20 +93,15 @@
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="protocol">{{ 'mxk.apps.protocol' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid protocol!">
|
||||
<input [(ngModel)]="form.model.protocol" [ngModelOptions]="{ standalone: true }" nz-input name="protocol"
|
||||
id="protocol" />
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="protocol">{{ 'mxk.apps.protocol' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid protocol!">
|
||||
<input [(ngModel)]="form.model.protocol" [ngModelOptions]="{ standalone: true }" nz-input name="protocol" id="protocol" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="category">{{ 'mxk.apps.category' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid category!">
|
||||
<nz-select [(ngModel)]="form.model.category" [ngModelOptions]="{ standalone: true }" name="category"
|
||||
id="category">
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid category!">
|
||||
<nz-select [(ngModel)]="form.model.category" [ngModelOptions]="{ standalone: true }" name="category" id="category">
|
||||
<nz-option nzValue="none" nzLabel="{{ 'mxk.apps.category.none' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="1011" nzLabel="{{ 'mxk.apps.category.1011' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="1012" nzLabel="{{ 'mxk.apps.category.1012' | i18n }}"></nz-option>
|
||||
@@ -126,33 +136,31 @@
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item style="width: 100%">
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzRequired nzFor="loginUrl">{{ 'mxk.apps.loginUrl' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="20" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid loginUrl!">
|
||||
<input [(ngModel)]="form.model.loginUrl" [ngModelOptions]="{ standalone: true }" nz-input name="loginUrl"
|
||||
id="loginUrl" />
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzRequired nzFor="loginUrl">{{ 'mxk.apps.loginUrl' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="20" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid loginUrl!">
|
||||
<input [(ngModel)]="form.model.loginUrl" [ngModelOptions]="{ standalone: true }" nz-input name="loginUrl" id="loginUrl" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="status">{{ 'mxk.text.status' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="status">{{ 'mxk.text.status' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="14" [nzXs]="24" nzErrorTip="The input is not valid status!">
|
||||
<nz-switch [(ngModel)]="form.model.switch_status" [ngModelOptions]="{ standalone: true }" name="status"
|
||||
[nzCheckedChildren]="statuscheckedTemplate" [nzUnCheckedChildren]="statusunCheckedTemplate"></nz-switch>
|
||||
<nz-switch
|
||||
[(ngModel)]="form.model.switch_status"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
name="status"
|
||||
[nzCheckedChildren]="statuscheckedTemplate"
|
||||
[nzUnCheckedChildren]="statusunCheckedTemplate"
|
||||
></nz-switch>
|
||||
<ng-template #statuscheckedTemplate><i nz-icon nzType="check"></i></ng-template>
|
||||
<ng-template #statusunCheckedTemplate><i nz-icon nzType="close"></i></ng-template>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="isExtendAttr">{{ 'mxk.apps.isExtendAttr' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid isExtendAttr!">
|
||||
<nz-radio-group [(ngModel)]="form.model.isExtendAttr" [ngModelOptions]="{ standalone: true }"
|
||||
nzButtonStyle="solid">
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="isExtendAttr">{{ 'mxk.apps.isExtendAttr' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid isExtendAttr!">
|
||||
<nz-radio-group [(ngModel)]="form.model.isExtendAttr" [ngModelOptions]="{ standalone: true }" nzButtonStyle="solid">
|
||||
<label nz-radio-button nzValue="0">{{ 'mxk.text.no' | i18n }}</label>
|
||||
<label nz-radio-button nzValue="1">{{ 'mxk.text.yes' | i18n }}</label>
|
||||
</nz-radio-group>
|
||||
@@ -163,23 +171,23 @@
|
||||
<nz-tab nzTitle="{{ 'mxk.apps.jwt.tab' | i18n }}">
|
||||
<div nz-row>
|
||||
<nz-form-item style="width: 100%">
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzRequired nzFor="redirectUri">{{ 'mxk.apps.jwt.redirectUri' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="20" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid redirectUri!">
|
||||
<input [(ngModel)]="form.model.redirectUri" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="redirectUri" id="redirectUri" />
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzRequired nzFor="redirectUri">{{ 'mxk.apps.jwt.redirectUri' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="20" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid redirectUri!">
|
||||
<input
|
||||
[(ngModel)]="form.model.redirectUri"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="redirectUri"
|
||||
id="redirectUri"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="subject">{{ 'mxk.apps.jwt.subject' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid subject!">
|
||||
<nz-select [(ngModel)]="form.model.subject" [ngModelOptions]="{ standalone: true }" name="subject"
|
||||
id="subject">
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="subject">{{ 'mxk.apps.jwt.subject' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid subject!">
|
||||
<nz-select [(ngModel)]="form.model.subject" [ngModelOptions]="{ standalone: true }" name="subject" id="subject">
|
||||
<nz-option nzValue="username" nzLabel="{{ 'mxk.users.username' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="employeeNumber" nzLabel="{{ 'mxk.users.employeeNumber' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="email" nzLabel="{{ 'mxk.users.email' | i18n }}"></nz-option>
|
||||
@@ -190,12 +198,9 @@
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="tokenType">{{ 'mxk.apps.jwt.tokenType' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid tokenType!">
|
||||
<nz-select [(ngModel)]="form.model.tokenType" [ngModelOptions]="{ standalone: true }" name="tokenType"
|
||||
id="tokenType">
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="tokenType">{{ 'mxk.apps.jwt.tokenType' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid tokenType!">
|
||||
<nz-select [(ngModel)]="form.model.tokenType" [ngModelOptions]="{ standalone: true }" name="tokenType" id="tokenType">
|
||||
<nz-option nzValue="GET" nzLabel="GET"></nz-option>
|
||||
<nz-option nzValue="POST" nzLabel="POST"></nz-option>
|
||||
<nz-option nzValue="LTPA" nzLabel="LTPA"></nz-option>
|
||||
@@ -205,22 +210,16 @@
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="jwtName">{{ 'mxk.apps.jwt.jwtName' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid jwtName!">
|
||||
<input [(ngModel)]="form.model.jwtName" [ngModelOptions]="{ standalone: true }" nz-input name="jwtName"
|
||||
id="jwtName" />
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="jwtName">{{ 'mxk.apps.jwt.jwtName' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid jwtName!">
|
||||
<input [(ngModel)]="form.model.jwtName" [ngModelOptions]="{ standalone: true }" nz-input name="jwtName" id="jwtName" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="expires">{{ 'mxk.apps.jwt.expires' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid expires!">
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="expires">{{ 'mxk.apps.jwt.expires' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid expires!">
|
||||
<nz-input-group nzAddOnAfter="{{ 'mxk.text.second' | i18n }}">
|
||||
<input [(ngModel)]="form.model.expires" [ngModelOptions]="{ standalone: true }" nz-input name="expires"
|
||||
id="expires" />
|
||||
<input [(ngModel)]="form.model.expires" [ngModelOptions]="{ standalone: true }" nz-input name="expires" id="expires" />
|
||||
</nz-input-group>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
@@ -228,29 +227,28 @@
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="issuer">{{ 'mxk.apps.jwt.issuer' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid issuer!">
|
||||
<input [(ngModel)]="form.model.issuer" [ngModelOptions]="{ standalone: true }" nz-input name="issuer"
|
||||
id="issuer" />
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid issuer!">
|
||||
<input [(ngModel)]="form.model.issuer" [ngModelOptions]="{ standalone: true }" nz-input name="issuer" id="issuer" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="audience">{{ 'mxk.apps.jwt.audience' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid audience!">
|
||||
<input [(ngModel)]="form.model.audience" [ngModelOptions]="{ standalone: true }" nz-input name="audience"
|
||||
id="audience" />
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid audience!">
|
||||
<input [(ngModel)]="form.model.audience" [ngModelOptions]="{ standalone: true }" nz-input name="audience" id="audience" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="signature">{{ 'mxk.apps.jwt.signature' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid signature!">
|
||||
<nz-select (ngModelChange)="onSelectSignature($event)" [(ngModel)]="form.model.signature"
|
||||
[ngModelOptions]="{ standalone: true }" name="signature" id="signature">
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="signature">{{ 'mxk.apps.jwt.signature' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid signature!">
|
||||
<nz-select
|
||||
(ngModelChange)="onSelectSignature($event)"
|
||||
[(ngModel)]="form.model.signature"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
name="signature"
|
||||
id="signature"
|
||||
>
|
||||
<nz-option nzValue="NONE" nzLabel="NONE"></nz-option>
|
||||
<nz-option nzValue="RS256" nzLabel="RS256"></nz-option>
|
||||
<nz-option nzValue="RS384" nzLabel="RS384"></nz-option>
|
||||
@@ -267,22 +265,29 @@
|
||||
<nz-form-item style="width: 100%">
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzRequired nzFor="signatureKey">{{
|
||||
'mxk.apps.oauth.connect.signatureKey' | i18n
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="20" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid signatureKey!">
|
||||
<textarea [(ngModel)]="form.model.signatureKey" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="signatureKey" id="signatureKey"></textarea>
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="20" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid signatureKey!">
|
||||
<textarea
|
||||
[(ngModel)]="form.model.signatureKey"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="signatureKey"
|
||||
id="signatureKey"
|
||||
></textarea>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="algorithm">{{ 'mxk.apps.oauth.connect.algorithm' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid algorithm!">
|
||||
<nz-select (ngModelChange)="onSelectAlgorithm($event)" [(ngModel)]="form.model.algorithm"
|
||||
[ngModelOptions]="{ standalone: true }" name="algorithm" id="algorithm">
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="algorithm">{{ 'mxk.apps.oauth.connect.algorithm' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid algorithm!">
|
||||
<nz-select
|
||||
(ngModelChange)="onSelectAlgorithm($event)"
|
||||
[(ngModel)]="form.model.algorithm"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
name="algorithm"
|
||||
id="algorithm"
|
||||
>
|
||||
<nz-option nzValue="NONE" nzLabel="NONE"></nz-option>
|
||||
<nz-option nzValue="RSA1_5" nzLabel="RSA1_5"></nz-option>
|
||||
<nz-option nzValue="RSA_OAEP" nzLabel="RSA_OAEP"></nz-option>
|
||||
@@ -299,11 +304,14 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="encryptionMethod">{{
|
||||
'mxk.apps.oauth.connect.encryptionMethod' | i18n
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid encryptionMethod!">
|
||||
<nz-select [(ngModel)]="form.model.encryptionMethod" [ngModelOptions]="{ standalone: true }"
|
||||
name="encryptionMethod" id="encryptionMethod">
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid encryptionMethod!">
|
||||
<nz-select
|
||||
[(ngModel)]="form.model.encryptionMethod"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
name="encryptionMethod"
|
||||
id="encryptionMethod"
|
||||
>
|
||||
<nz-option nzValue="A128GCM" nzLabel="A128GCM"></nz-option>
|
||||
<nz-option nzValue="A192GCM" nzLabel="A192GCM"></nz-option>
|
||||
<nz-option nzValue="A256GCM" nzLabel="A256GCM"></nz-option>
|
||||
@@ -317,12 +325,15 @@
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item style="width: 100%">
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzFor="algorithmKey">{{ 'mxk.apps.oauth.connect.algorithmKey' | i18n
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="20" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid algorithmKey!">
|
||||
<textarea [(ngModel)]="form.model.algorithmKey" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="algorithmKey" id="algorithmKey"></textarea>
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzFor="algorithmKey">{{ 'mxk.apps.oauth.connect.algorithmKey' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="20" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid algorithmKey!">
|
||||
<textarea
|
||||
[(ngModel)]="form.model.algorithmKey"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="algorithmKey"
|
||||
id="algorithmKey"
|
||||
></textarea>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
@@ -331,18 +342,14 @@
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="logoutUrl">{{ 'mxk.apps.logoutUrl' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid logoutUrl!">
|
||||
<input [(ngModel)]="form.model.logoutUrl" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="logoutUrl" id="logoutUrl" />
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid logoutUrl!">
|
||||
<input [(ngModel)]="form.model.logoutUrl" [ngModelOptions]="{ standalone: true }" nz-input name="logoutUrl" id="logoutUrl" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="logoutType">{{ 'mxk.apps.logoutType' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid logoutType!">
|
||||
<nz-select [(ngModel)]="form.model.logoutType" [ngModelOptions]="{ standalone: true }" name="logoutType"
|
||||
id="logoutType">
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid logoutType!">
|
||||
<nz-select [(ngModel)]="form.model.logoutType" [ngModelOptions]="{ standalone: true }" name="logoutType" id="logoutType">
|
||||
<nz-option nzValue="0" nzLabel="{{ 'mxk.apps.logoutType.none' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="1" nzLabel="{{ 'mxk.apps.logoutType.back_channel' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="2" nzLabel="{{ 'mxk.apps.logoutType.front_channel' | i18n }}"></nz-option>
|
||||
@@ -354,10 +361,8 @@
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="visible">{{ 'mxk.apps.visible' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid visible!">
|
||||
<nz-select [(ngModel)]="form.model.visible" [ngModelOptions]="{ standalone: true }" name="visible"
|
||||
id="visible">
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid visible!">
|
||||
<nz-select [(ngModel)]="form.model.visible" [ngModelOptions]="{ standalone: true }" name="visible" id="visible">
|
||||
<nz-option nzValue="0" nzLabel="{{ 'mxk.apps.visible.hidden' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="1" nzLabel="{{ 'mxk.apps.visible.all' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="2" nzLabel="{{ 'mxk.apps.visible.internet' | i18n }}"></nz-option>
|
||||
@@ -367,38 +372,30 @@
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="sortIndex">{{ 'mxk.text.sortIndex' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid sortIndex!">
|
||||
<input [(ngModel)]="form.model.sortIndex" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="sortIndex" id="sortIndex" />
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid sortIndex!">
|
||||
<input [(ngModel)]="form.model.sortIndex" [ngModelOptions]="{ standalone: true }" nz-input name="sortIndex" id="sortIndex" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="vendor">{{ 'mxk.apps.vendor' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid vendor!">
|
||||
<input [(ngModel)]="form.model.vendor" [ngModelOptions]="{ standalone: true }" nz-input name="vendor"
|
||||
id="vendor" />
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid vendor!">
|
||||
<input [(ngModel)]="form.model.vendor" [ngModelOptions]="{ standalone: true }" nz-input name="vendor" id="vendor" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="vendorUrl">{{ 'mxk.apps.vendor.url' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid vendorUrl!">
|
||||
<input [(ngModel)]="form.model.vendorUrl" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="vendorUrl" id="vendorUrl" />
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid vendorUrl!">
|
||||
<input [(ngModel)]="form.model.vendorUrl" [ngModelOptions]="{ standalone: true }" nz-input name="vendorUrl" id="vendorUrl" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="isAdapter">{{ 'mxk.apps.isAdapter' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid isAdapter!">
|
||||
<nz-select [(ngModel)]="form.model.isAdapter" [ngModelOptions]="{ standalone: true }" name="isAdapter"
|
||||
id="isAdapter">
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid isAdapter!">
|
||||
<nz-select [(ngModel)]="form.model.isAdapter" [ngModelOptions]="{ standalone: true }" name="isAdapter" id="isAdapter">
|
||||
<nz-option nzValue="0" nzLabel="{{ 'mxk.apps.isAdapter.no' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="1" nzLabel="{{ 'mxk.apps.isAdapter.yes' | i18n }}"></nz-option>
|
||||
</nz-select>
|
||||
@@ -406,31 +403,49 @@
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="adapterName">{{ 'mxk.apps.adapter' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid adapterName!">
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid adapterName!">
|
||||
<nz-input-group nzSearch [nzAddOnAfter]="suffixAdapterButton">
|
||||
<input [(ngModel)]="form.model.adapterName" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="adapterName" id="adapterName" />
|
||||
<input
|
||||
[(ngModel)]="form.model.adapterName"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="adapterName"
|
||||
id="adapterName"
|
||||
/>
|
||||
</nz-input-group>
|
||||
<ng-template #suffixAdapterButton>
|
||||
<button nz-button nzType="primary" nzSearch (click)="onSelectAdapter($event)">{{ 'mxk.text.select' |
|
||||
i18n }}</button>
|
||||
<button nz-button nzType="primary" nzSearch (click)="onSelectAdapter($event)">{{ 'mxk.text.select' | i18n }}</button>
|
||||
</ng-template>
|
||||
<input type="hidden" [(ngModel)]="form.model.adapterId" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="adapterId" id="adapterId" />
|
||||
<input type="hidden" [(ngModel)]="form.model.adapter" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="adapter" id="adapter" />
|
||||
<input
|
||||
type="hidden"
|
||||
[(ngModel)]="form.model.adapterId"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="adapterId"
|
||||
id="adapterId"
|
||||
/>
|
||||
<input
|
||||
type="hidden"
|
||||
[(ngModel)]="form.model.adapter"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="adapter"
|
||||
id="adapter"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item style="width: 100%">
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzFor="description">{{ 'mxk.text.description' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid description!">
|
||||
<input [(ngModel)]="form.model.description" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="description" id="description" />
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzFor="description">{{ 'mxk.text.description' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid description!">
|
||||
<input
|
||||
[(ngModel)]="form.model.description"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="description"
|
||||
id="description"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
@@ -455,22 +470,24 @@
|
||||
<td>
|
||||
<button nz-button type="button" (click)="startExtraAttrEdit(data.id)" style="float: left">{{
|
||||
'mxk.text.edit' | i18n
|
||||
}}</button>
|
||||
<button nz-button type="button" (click)="deleteExtraAttrRow(data.id)" nzDanger>{{ 'mxk.text.delete' |
|
||||
i18n }}</button>
|
||||
}}</button>
|
||||
<button nz-button type="button" (click)="deleteExtraAttrRow(data.id)" nzDanger>{{ 'mxk.text.delete' | i18n }}</button>
|
||||
</td>
|
||||
</ng-container>
|
||||
<ng-template #editTemplate>
|
||||
<td><input type="text" nz-input [(ngModel)]="extraAttrEditCache[data.id].data.attr"
|
||||
[ngModelOptions]="{ standalone: true }" /></td>
|
||||
<td><input type="text" nz-input [(ngModel)]="extraAttrEditCache[data.id].data.type"
|
||||
[ngModelOptions]="{ standalone: true }" /></td>
|
||||
<td><input type="text" nz-input [(ngModel)]="extraAttrEditCache[data.id].data.value"
|
||||
[ngModelOptions]="{ standalone: true }" /></td>
|
||||
<td
|
||||
><input type="text" nz-input [(ngModel)]="extraAttrEditCache[data.id].data.attr" [ngModelOptions]="{ standalone: true }"
|
||||
/></td>
|
||||
<td
|
||||
><input type="text" nz-input [(ngModel)]="extraAttrEditCache[data.id].data.type" [ngModelOptions]="{ standalone: true }"
|
||||
/></td>
|
||||
<td
|
||||
><input type="text" nz-input [(ngModel)]="extraAttrEditCache[data.id].data.value" [ngModelOptions]="{ standalone: true }"
|
||||
/></td>
|
||||
<td>
|
||||
<button nz-button type="button" (click)="saveExtraAttrEdit(data.id)" style="float: left">{{
|
||||
'mxk.text.submit' | i18n
|
||||
}}</button>
|
||||
}}</button>
|
||||
</td>
|
||||
</ng-template>
|
||||
</tr>
|
||||
@@ -484,4 +501,4 @@
|
||||
<div *nzModalFooter>
|
||||
<button nz-button nzType="default" (click)="onClose($event)">{{ 'mxk.text.close' | i18n }}</button>
|
||||
<button nz-button nzType="primary" (click)="onSubmit($event)">{{ 'mxk.text.submit' | i18n }}</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -61,9 +61,9 @@ export class AppJwtDetailsEditerComponent implements OnInit {
|
||||
submitting: boolean;
|
||||
model: AppsJwtDetails;
|
||||
} = {
|
||||
submitting: false,
|
||||
model: new AppsJwtDetails()
|
||||
};
|
||||
submitting: false,
|
||||
model: new AppsJwtDetails()
|
||||
};
|
||||
|
||||
formGroup: FormGroup = new FormGroup({});
|
||||
|
||||
@@ -86,7 +86,7 @@ export class AppJwtDetailsEditerComponent implements OnInit {
|
||||
private msg: NzMessageService,
|
||||
@Inject(ALAIN_I18N_TOKEN) private i18n: I18NService,
|
||||
private cdr: ChangeDetectorRef
|
||||
) { }
|
||||
) {}
|
||||
|
||||
ngOnInit(): void {
|
||||
if (this.isEdit) {
|
||||
|
||||
@@ -8,22 +8,24 @@
|
||||
<nz-form-item style="width: 100%">
|
||||
<nz-form-label [nzMd]="8" nzRequired nzFor="id">{{ 'mxk.text.id' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzMd]="16" nzErrorTip="The input is not valid id!">
|
||||
<input [(ngModel)]="form.model.id" readonly [ngModelOptions]="{ standalone: true }" nz-input name="id"
|
||||
id="id" />
|
||||
<input [(ngModel)]="form.model.id" readonly [ngModelOptions]="{ standalone: true }" nz-input name="id" id="id" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item style="width: 100%">
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="secret">{{ 'mxk.apps.secret' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid secret!">
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="secret">{{ 'mxk.apps.secret' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid secret!">
|
||||
<nz-input-group nzSearch [nzAddOnAfter]="suffixPasswordButton">
|
||||
<input [(ngModel)]="form.model.secret" readonly [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="secret" id="secret" />
|
||||
<input
|
||||
[(ngModel)]="form.model.secret"
|
||||
readonly
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="secret"
|
||||
id="secret"
|
||||
/>
|
||||
</nz-input-group>
|
||||
<ng-template #suffixPasswordButton>
|
||||
<button nz-button nzType="primary" nzSearch (click)="onGenerateSecret($event)">{{ 'mxk.text.generate'
|
||||
| i18n }}</button>
|
||||
<button nz-button nzType="primary" nzSearch (click)="onGenerateSecret($event)">{{ 'mxk.text.generate' | i18n }}</button>
|
||||
</ng-template>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
@@ -32,44 +34,57 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="icon">{{ 'mxk.apps.icon' | i18n }}</nz-form-label>
|
||||
<div nz-col class="clearfix" nzSm="16" nzXs="24">
|
||||
<nz-upload nzAction="/file/upload/" nzListType="picture-card" [(nzFileList)]="fileList"
|
||||
nzName="uploadFile" [nzShowButton]="fileList.length < 1" [nzPreview]="handlePreview"
|
||||
(nzChange)="uploadImageChange($event)">
|
||||
<nz-upload
|
||||
nzAction="/file/upload/"
|
||||
nzListType="picture-card"
|
||||
[(nzFileList)]="fileList"
|
||||
nzName="uploadFile"
|
||||
[nzShowButton]="fileList.length < 1"
|
||||
[nzPreview]="handlePreview"
|
||||
(nzChange)="uploadImageChange($event)"
|
||||
>
|
||||
<div>
|
||||
<i nz-icon nzType="plus"></i>
|
||||
<div style="margin-top: 8px">Upload</div>
|
||||
</div>
|
||||
</nz-upload>
|
||||
<nz-modal [nzVisible]="previewVisible" [nzContent]="modalContent" [nzFooter]="null"
|
||||
(nzOnCancel)="previewVisible = false">
|
||||
<nz-modal [nzVisible]="previewVisible" [nzContent]="modalContent" [nzFooter]="null" (nzOnCancel)="previewVisible = false">
|
||||
<ng-template #modalContent>
|
||||
<img [src]="previewImage" [ngStyle]="{ width: '100%' }" />
|
||||
</ng-template>
|
||||
</nz-modal>
|
||||
</div>
|
||||
|
||||
<nz-form-control style="display: none" [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid icon!">
|
||||
<input [(ngModel)]="form.model.iconId" disabled="true" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="icon" id="icon" />
|
||||
<nz-form-control
|
||||
style="display: none"
|
||||
[nzSm]="16"
|
||||
[nzMd]="16"
|
||||
[nzXs]="36"
|
||||
[nzXl]="48"
|
||||
nzErrorTip="The input is not valid icon!"
|
||||
>
|
||||
<input
|
||||
[(ngModel)]="form.model.iconId"
|
||||
disabled="true"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="icon"
|
||||
id="icon"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="appName">{{ 'mxk.apps.name' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="appName">{{ 'mxk.apps.name' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid name!">
|
||||
<input [(ngModel)]="form.model.appName" [ngModelOptions]="{ standalone: true }" nz-input name="appName"
|
||||
id="appName" />
|
||||
<input [(ngModel)]="form.model.appName" [ngModelOptions]="{ standalone: true }" nz-input name="appName" id="appName" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="frequently">{{ 'mxk.apps.frequently' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid frequently!">
|
||||
<nz-radio-group [(ngModel)]="form.model.frequently" [ngModelOptions]="{ standalone: true }"
|
||||
nzButtonStyle="solid">
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid frequently!">
|
||||
<nz-radio-group [(ngModel)]="form.model.frequently" [ngModelOptions]="{ standalone: true }" nzButtonStyle="solid">
|
||||
<label nz-radio-button nzValue="yes">{{ 'mxk.text.yes' | i18n }}</label>
|
||||
<label nz-radio-button nzValue="no">{{ 'mxk.text.no' | i18n }}</label>
|
||||
</nz-radio-group>
|
||||
@@ -78,10 +93,8 @@
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="protocol">{{ 'mxk.apps.protocol' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid protocol!">
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="protocol">{{ 'mxk.apps.protocol' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid protocol!">
|
||||
<nz-select [(ngModel)]="form.model.protocol" [ngModelOptions]="{ standalone: true }" name="protocol">
|
||||
<nz-option nzValue="OAuth_v2.0" nzLabel="OAuth v2.0"></nz-option>
|
||||
<nz-option nzValue="OAuth_v2.1" nzLabel="OAuth v2.1"></nz-option>
|
||||
@@ -91,10 +104,8 @@
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="category">{{ 'mxk.apps.category' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid category!">
|
||||
<nz-select [(ngModel)]="form.model.category" [ngModelOptions]="{ standalone: true }" name="category"
|
||||
id="category">
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid category!">
|
||||
<nz-select [(ngModel)]="form.model.category" [ngModelOptions]="{ standalone: true }" name="category" id="category">
|
||||
<nz-option nzValue="none" nzLabel="{{ 'mxk.apps.category.none' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="1011" nzLabel="{{ 'mxk.apps.category.1011' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="1012" nzLabel="{{ 'mxk.apps.category.1012' | i18n }}"></nz-option>
|
||||
@@ -129,33 +140,31 @@
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item style="width: 100%">
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzRequired nzFor="loginUrl">{{ 'mxk.apps.loginUrl' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid loginUrl!">
|
||||
<input [(ngModel)]="form.model.loginUrl" [ngModelOptions]="{ standalone: true }" nz-input name="loginUrl"
|
||||
id="loginUrl" />
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzRequired nzFor="loginUrl">{{ 'mxk.apps.loginUrl' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid loginUrl!">
|
||||
<input [(ngModel)]="form.model.loginUrl" [ngModelOptions]="{ standalone: true }" nz-input name="loginUrl" id="loginUrl" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="status">{{ 'mxk.text.status' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="status">{{ 'mxk.text.status' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="14" [nzXs]="24" nzErrorTip="The input is not valid status!">
|
||||
<nz-switch [(ngModel)]="form.model.switch_status" [ngModelOptions]="{ standalone: true }" name="status"
|
||||
[nzCheckedChildren]="statuscheckedTemplate" [nzUnCheckedChildren]="statusunCheckedTemplate"></nz-switch>
|
||||
<nz-switch
|
||||
[(ngModel)]="form.model.switch_status"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
name="status"
|
||||
[nzCheckedChildren]="statuscheckedTemplate"
|
||||
[nzUnCheckedChildren]="statusunCheckedTemplate"
|
||||
></nz-switch>
|
||||
<ng-template #statuscheckedTemplate><i nz-icon nzType="check"></i></ng-template>
|
||||
<ng-template #statusunCheckedTemplate><i nz-icon nzType="close"></i></ng-template>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="isExtendAttr">{{ 'mxk.apps.isExtendAttr' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid isExtendAttr!">
|
||||
<nz-radio-group [(ngModel)]="form.model.isExtendAttr" [ngModelOptions]="{ standalone: true }"
|
||||
nzButtonStyle="solid">
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="isExtendAttr">{{ 'mxk.apps.isExtendAttr' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid isExtendAttr!">
|
||||
<nz-radio-group [(ngModel)]="form.model.isExtendAttr" [ngModelOptions]="{ standalone: true }" nzButtonStyle="solid">
|
||||
<label nz-radio-button nzValue="0">{{ 'mxk.text.no' | i18n }}</label>
|
||||
<label nz-radio-button nzValue="1">{{ 'mxk.text.yes' | i18n }}</label>
|
||||
</nz-radio-group>
|
||||
@@ -168,22 +177,29 @@
|
||||
<nz-form-item style="width: 100%">
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzRequired nzFor="registeredRedirectUris">{{
|
||||
'mxk.apps.oauth.registeredRedirectUris' | i18n
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid registeredRedirectUris!">
|
||||
<textarea [(ngModel)]="form.model.registeredRedirectUris" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="registeredRedirectUris" id="registeredRedirectUris"></textarea>
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid registeredRedirectUris!">
|
||||
<textarea
|
||||
[(ngModel)]="form.model.registeredRedirectUris"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="registeredRedirectUris"
|
||||
id="registeredRedirectUris"
|
||||
></textarea>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item style="width: 100%">
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzRequired nzFor="GrantTypes">{{ 'mxk.apps.oauth.GrantTypes' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="20" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid authorizedGrantTypes!">
|
||||
<nz-select [(ngModel)]="form.model.select_authorizedGrantTypes" nzMode="multiple"
|
||||
nzPlaceHolder="Please select" [ngModelOptions]="{ standalone: true }" name="authorizedGrantTypes">
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzRequired nzFor="GrantTypes">{{ 'mxk.apps.oauth.GrantTypes' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="20" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid authorizedGrantTypes!">
|
||||
<nz-select
|
||||
[(ngModel)]="form.model.select_authorizedGrantTypes"
|
||||
nzMode="multiple"
|
||||
nzPlaceHolder="Please select"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
name="authorizedGrantTypes"
|
||||
>
|
||||
<nz-option nzValue="authorization_code" nzLabel="authorization_code"></nz-option>
|
||||
<nz-option nzValue="password" nzLabel="password"></nz-option>
|
||||
<nz-option nzValue="client_credentials" nzLabel="client_credentials"></nz-option>
|
||||
@@ -197,12 +213,9 @@
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="subject">{{ 'mxk.apps.oauth.subject' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid subject!">
|
||||
<nz-select [(ngModel)]="form.model.subject" [ngModelOptions]="{ standalone: true }" name="subject"
|
||||
id="subject">
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="subject">{{ 'mxk.apps.oauth.subject' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid subject!">
|
||||
<nz-select [(ngModel)]="form.model.subject" [ngModelOptions]="{ standalone: true }" name="subject" id="subject">
|
||||
<nz-option nzValue="username" nzLabel="{{ 'mxk.users.username' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="employeeNumber" nzLabel="{{ 'mxk.users.employeeNumber' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="email" nzLabel="{{ 'mxk.users.email' | i18n }}"></nz-option>
|
||||
@@ -213,11 +226,14 @@
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="scope">{{ 'mxk.apps.oauth.scope' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="scope">{{ 'mxk.apps.oauth.scope' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid scope!">
|
||||
<nz-select [(ngModel)]="form.model.select_scope" [ngModelOptions]="{ standalone: true }" nzMode="multiple"
|
||||
nzPlaceHolder="Please select">
|
||||
<nz-select
|
||||
[(ngModel)]="form.model.select_scope"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nzMode="multiple"
|
||||
nzPlaceHolder="Please select"
|
||||
>
|
||||
<nz-option nzValue="read" nzLabel="read"></nz-option>
|
||||
<nz-option nzValue="write" nzLabel="write"></nz-option>
|
||||
<nz-option nzValue="trust" nzLabel="trust"></nz-option>
|
||||
@@ -235,12 +251,10 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="approvalPrompt">{{
|
||||
'mxk.apps.oauth.approvalPrompt' | i18n
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid approvalPrompt!">
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid approvalPrompt!">
|
||||
<nz-input-group>
|
||||
<nz-radio-group [(ngModel)]="form.model.approvalPrompt" [ngModelOptions]="{ standalone: true }"
|
||||
nzButtonStyle="solid">
|
||||
<nz-radio-group [(ngModel)]="form.model.approvalPrompt" [ngModelOptions]="{ standalone: true }" nzButtonStyle="solid">
|
||||
<label nz-radio-button nzValue="force">{{ 'mxk.apps.oauth.approvalPrompt.force' | i18n }}</label>
|
||||
<label nz-radio-button nzValue="auto">{{ 'mxk.apps.oauth.approvalPrompt.auto' | i18n }}</label>
|
||||
</nz-radio-group>
|
||||
@@ -251,8 +265,7 @@
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="pkce">PKCE</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid PKCE!">
|
||||
<nz-input-group>
|
||||
<nz-radio-group [(ngModel)]="form.model.pkce" [ngModelOptions]="{ standalone: true }"
|
||||
nzButtonStyle="solid">
|
||||
<nz-radio-group [(ngModel)]="form.model.pkce" [ngModelOptions]="{ standalone: true }" nzButtonStyle="solid">
|
||||
<label nz-radio-button nzValue="yes">{{ 'mxk.text.yes' | i18n }}</label>
|
||||
<label nz-radio-button nzValue="no">{{ 'mxk.text.no' | i18n }}</label>
|
||||
</nz-radio-group>
|
||||
@@ -264,24 +277,38 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="accessTokenValiditySeconds">{{
|
||||
'mxk.apps.oauth.accessTokenValiditySeconds' | i18n
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid accessTokenValiditySeconds!">
|
||||
}}</nz-form-label>
|
||||
<nz-form-control
|
||||
[nzSm]="16"
|
||||
[nzMd]="16"
|
||||
[nzXs]="36"
|
||||
[nzXl]="48"
|
||||
nzErrorTip="The input is not valid accessTokenValiditySeconds!"
|
||||
>
|
||||
<nz-input-group nzAddOnAfter="{{ 'mxk.text.second' | i18n }}">
|
||||
<input [(ngModel)]="form.model.accessTokenValiditySeconds" [ngModelOptions]="{ standalone: true }"
|
||||
nz-input name="accessTokenValiditySeconds" id="accessTokenValiditySeconds" />
|
||||
<input
|
||||
[(ngModel)]="form.model.accessTokenValiditySeconds"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="accessTokenValiditySeconds"
|
||||
id="accessTokenValiditySeconds"
|
||||
/>
|
||||
</nz-input-group>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="refreshTokenValiditySeconds">{{
|
||||
'mxk.apps.oauth.refreshTokenValiditySeconds' | i18n
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid expires!">
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid expires!">
|
||||
<nz-input-group nzAddOnAfter="{{ 'mxk.text.second' | i18n }}">
|
||||
<input [(ngModel)]="form.model.refreshTokenValiditySeconds" [ngModelOptions]="{ standalone: true }"
|
||||
nz-input name="refreshTokenValiditySeconds" id="refreshTokenValiditySeconds" />
|
||||
<input
|
||||
[(ngModel)]="form.model.refreshTokenValiditySeconds"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="refreshTokenValiditySeconds"
|
||||
id="refreshTokenValiditySeconds"
|
||||
/>
|
||||
</nz-input-group>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
@@ -290,33 +317,30 @@
|
||||
<nz-tab nzTitle="{{ 'mxk.apps.oauth.connect.tab' | i18n }}">
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="issuer">{{ 'mxk.apps.oauth.connect.issuer' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid issuer!">
|
||||
<input [(ngModel)]="form.model.issuer" [ngModelOptions]="{ standalone: true }" nz-input name="issuer"
|
||||
id="issuer" />
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="issuer">{{ 'mxk.apps.oauth.connect.issuer' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid issuer!">
|
||||
<input [(ngModel)]="form.model.issuer" [ngModelOptions]="{ standalone: true }" nz-input name="issuer" id="issuer" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="audience">{{ 'mxk.apps.oauth.connect.audience' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid audience!">
|
||||
<input [(ngModel)]="form.model.audience" [ngModelOptions]="{ standalone: true }" nz-input name="audience"
|
||||
id="audience" />
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="audience">{{ 'mxk.apps.oauth.connect.audience' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid audience!">
|
||||
<input [(ngModel)]="form.model.audience" [ngModelOptions]="{ standalone: true }" nz-input name="audience" id="audience" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="signature">{{ 'mxk.apps.oauth.connect.signature' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid signature!">
|
||||
<nz-select (ngModelChange)="onSelectSignature($event)" [(ngModel)]="form.model.signature"
|
||||
[ngModelOptions]="{ standalone: true }" name="signature" id="signature">
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="signature">{{ 'mxk.apps.oauth.connect.signature' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid signature!">
|
||||
<nz-select
|
||||
(ngModelChange)="onSelectSignature($event)"
|
||||
[(ngModel)]="form.model.signature"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
name="signature"
|
||||
id="signature"
|
||||
>
|
||||
<nz-option nzValue="NONE" nzLabel="NONE"></nz-option>
|
||||
<nz-option nzValue="RS256" nzLabel="RS256"></nz-option>
|
||||
<nz-option nzValue="RS384" nzLabel="RS384"></nz-option>
|
||||
@@ -330,11 +354,14 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="userInfoResponse">{{
|
||||
'mxk.apps.oauth.connect.userInfoResponse' | i18n
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid userInfoResponse!">
|
||||
<nz-select [(ngModel)]="form.model.userInfoResponse" [ngModelOptions]="{ standalone: true }"
|
||||
name="userInfoResponse" id="userInfoResponse">
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid userInfoResponse!">
|
||||
<nz-select
|
||||
[(ngModel)]="form.model.userInfoResponse"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
name="userInfoResponse"
|
||||
id="userInfoResponse"
|
||||
>
|
||||
<nz-option nzValue="NORMAL" nzLabel="NORMAL"></nz-option>
|
||||
<nz-option nzValue="SIGNING" nzLabel="SIGNING"></nz-option>
|
||||
<nz-option nzValue="ENCRYPTION" nzLabel="ENCRYPTION"></nz-option>
|
||||
@@ -345,23 +372,29 @@
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item style="width: 100%">
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzFor="signatureKey">{{ 'mxk.apps.oauth.connect.signatureKey' | i18n
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="20" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid signatureKey!">
|
||||
<textarea [(ngModel)]="form.model.signatureKey" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="signatureKey" id="signatureKey"></textarea>
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzFor="signatureKey">{{ 'mxk.apps.oauth.connect.signatureKey' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="20" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid signatureKey!">
|
||||
<textarea
|
||||
[(ngModel)]="form.model.signatureKey"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="signatureKey"
|
||||
id="signatureKey"
|
||||
></textarea>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="algorithm">{{ 'mxk.apps.oauth.connect.algorithm' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid algorithm!">
|
||||
<nz-select (ngModelChange)="onSelectAlgorithm($event)" [(ngModel)]="form.model.algorithm"
|
||||
[ngModelOptions]="{ standalone: true }" name="algorithm" id="algorithm">
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="algorithm">{{ 'mxk.apps.oauth.connect.algorithm' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid algorithm!">
|
||||
<nz-select
|
||||
(ngModelChange)="onSelectAlgorithm($event)"
|
||||
[(ngModel)]="form.model.algorithm"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
name="algorithm"
|
||||
id="algorithm"
|
||||
>
|
||||
<nz-option nzValue="NONE" nzLabel="NONE"></nz-option>
|
||||
<nz-option nzValue="RSA1_5" nzLabel="RSA1_5"></nz-option>
|
||||
<nz-option nzValue="RSA_OAEP" nzLabel="RSA_OAEP"></nz-option>
|
||||
@@ -378,11 +411,14 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="encryptionMethod">{{
|
||||
'mxk.apps.oauth.connect.encryptionMethod' | i18n
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid encryptionMethod!">
|
||||
<nz-select [(ngModel)]="form.model.encryptionMethod" [ngModelOptions]="{ standalone: true }"
|
||||
name="encryptionMethod" id="encryptionMethod">
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid encryptionMethod!">
|
||||
<nz-select
|
||||
[(ngModel)]="form.model.encryptionMethod"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
name="encryptionMethod"
|
||||
id="encryptionMethod"
|
||||
>
|
||||
<nz-option nzValue="A128GCM" nzLabel="A128GCM"></nz-option>
|
||||
<nz-option nzValue="A192GCM" nzLabel="A192GCM"></nz-option>
|
||||
<nz-option nzValue="A256GCM" nzLabel="A256GCM"></nz-option>
|
||||
@@ -396,12 +432,15 @@
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item style="width: 100%">
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzFor="algorithmKey">{{ 'mxk.apps.oauth.connect.algorithmKey' | i18n
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="20" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid algorithmKey!">
|
||||
<textarea [(ngModel)]="form.model.algorithmKey" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="algorithmKey" id="algorithmKey"></textarea>
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzFor="algorithmKey">{{ 'mxk.apps.oauth.connect.algorithmKey' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="20" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid algorithmKey!">
|
||||
<textarea
|
||||
[(ngModel)]="form.model.algorithmKey"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="algorithmKey"
|
||||
id="algorithmKey"
|
||||
></textarea>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
@@ -410,18 +449,14 @@
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="logoutUrl">{{ 'mxk.apps.logoutUrl' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid logoutUrl!">
|
||||
<input [(ngModel)]="form.model.logoutUrl" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="logoutUrl" id="logoutUrl" />
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid logoutUrl!">
|
||||
<input [(ngModel)]="form.model.logoutUrl" [ngModelOptions]="{ standalone: true }" nz-input name="logoutUrl" id="logoutUrl" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="logoutType">{{ 'mxk.apps.logoutType' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid logoutType!">
|
||||
<nz-select [(ngModel)]="form.model.logoutType" [ngModelOptions]="{ standalone: true }" name="logoutType"
|
||||
id="logoutType">
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid logoutType!">
|
||||
<nz-select [(ngModel)]="form.model.logoutType" [ngModelOptions]="{ standalone: true }" name="logoutType" id="logoutType">
|
||||
<nz-option nzValue="0" nzLabel="{{ 'mxk.apps.logoutType.none' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="1" nzLabel="{{ 'mxk.apps.logoutType.back_channel' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="2" nzLabel="{{ 'mxk.apps.logoutType.front_channel' | i18n }}"></nz-option>
|
||||
@@ -433,10 +468,8 @@
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="visible">{{ 'mxk.apps.visible' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid visible!">
|
||||
<nz-select [(ngModel)]="form.model.visible" [ngModelOptions]="{ standalone: true }" name="visible"
|
||||
id="visible">
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid visible!">
|
||||
<nz-select [(ngModel)]="form.model.visible" [ngModelOptions]="{ standalone: true }" name="visible" id="visible">
|
||||
<nz-option nzValue="0" nzLabel="{{ 'mxk.apps.visible.hidden' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="1" nzLabel="{{ 'mxk.apps.visible.all' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="2" nzLabel="{{ 'mxk.apps.visible.internet' | i18n }}"></nz-option>
|
||||
@@ -446,38 +479,30 @@
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="sortIndex">{{ 'mxk.text.sortIndex' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid sortIndex!">
|
||||
<input [(ngModel)]="form.model.sortIndex" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="sortIndex" id="sortIndex" />
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid sortIndex!">
|
||||
<input [(ngModel)]="form.model.sortIndex" [ngModelOptions]="{ standalone: true }" nz-input name="sortIndex" id="sortIndex" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="vendor">{{ 'mxk.apps.vendor' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid vendor!">
|
||||
<input [(ngModel)]="form.model.vendor" [ngModelOptions]="{ standalone: true }" nz-input name="vendor"
|
||||
id="vendor" />
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid vendor!">
|
||||
<input [(ngModel)]="form.model.vendor" [ngModelOptions]="{ standalone: true }" nz-input name="vendor" id="vendor" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="vendorUrl">{{ 'mxk.apps.vendor.url' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid vendorUrl!">
|
||||
<input [(ngModel)]="form.model.vendorUrl" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="vendorUrl" id="vendorUrl" />
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid vendorUrl!">
|
||||
<input [(ngModel)]="form.model.vendorUrl" [ngModelOptions]="{ standalone: true }" nz-input name="vendorUrl" id="vendorUrl" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="isAdapter">{{ 'mxk.apps.isAdapter' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid isAdapter!">
|
||||
<nz-select [(ngModel)]="form.model.isAdapter" [ngModelOptions]="{ standalone: true }" name="isAdapter"
|
||||
id="isAdapter">
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid isAdapter!">
|
||||
<nz-select [(ngModel)]="form.model.isAdapter" [ngModelOptions]="{ standalone: true }" name="isAdapter" id="isAdapter">
|
||||
<nz-option nzValue="0" nzLabel="{{ 'mxk.apps.isAdapter.no' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="1" nzLabel="{{ 'mxk.apps.isAdapter.yes' | i18n }}"></nz-option>
|
||||
</nz-select>
|
||||
@@ -485,31 +510,49 @@
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="adapterName">{{ 'mxk.apps.adapter' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid adapterName!">
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid adapterName!">
|
||||
<nz-input-group nzSearch [nzAddOnAfter]="suffixAdapterButton">
|
||||
<input [(ngModel)]="form.model.adapterName" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="adapterName" id="adapterName" />
|
||||
<input
|
||||
[(ngModel)]="form.model.adapterName"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="adapterName"
|
||||
id="adapterName"
|
||||
/>
|
||||
</nz-input-group>
|
||||
<ng-template #suffixAdapterButton>
|
||||
<button nz-button nzType="primary" nzSearch (click)="onSelectAdapter($event)">{{ 'mxk.text.select' |
|
||||
i18n }}</button>
|
||||
<button nz-button nzType="primary" nzSearch (click)="onSelectAdapter($event)">{{ 'mxk.text.select' | i18n }}</button>
|
||||
</ng-template>
|
||||
<input type="hidden" [(ngModel)]="form.model.adapterId" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="adapterId" id="adapterId" />
|
||||
<input type="hidden" [(ngModel)]="form.model.adapter" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="adapter" id="adapter" />
|
||||
<input
|
||||
type="hidden"
|
||||
[(ngModel)]="form.model.adapterId"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="adapterId"
|
||||
id="adapterId"
|
||||
/>
|
||||
<input
|
||||
type="hidden"
|
||||
[(ngModel)]="form.model.adapter"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="adapter"
|
||||
id="adapter"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item style="width: 100%">
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzFor="description">{{ 'mxk.text.description' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid description!">
|
||||
<input [(ngModel)]="form.model.description" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="description" id="description" />
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzFor="description">{{ 'mxk.text.description' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid description!">
|
||||
<input
|
||||
[(ngModel)]="form.model.description"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="description"
|
||||
id="description"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
@@ -534,22 +577,24 @@
|
||||
<td>
|
||||
<button nz-button type="button" (click)="startExtraAttrEdit(data.id)" style="float: left">{{
|
||||
'mxk.text.edit' | i18n
|
||||
}}</button>
|
||||
<button nz-button type="button" (click)="deleteExtraAttrRow(data.id)" nzDanger>{{ 'mxk.text.delete' |
|
||||
i18n }}</button>
|
||||
}}</button>
|
||||
<button nz-button type="button" (click)="deleteExtraAttrRow(data.id)" nzDanger>{{ 'mxk.text.delete' | i18n }}</button>
|
||||
</td>
|
||||
</ng-container>
|
||||
<ng-template #editTemplate>
|
||||
<td><input type="text" nz-input [(ngModel)]="extraAttrEditCache[data.id].data.attr"
|
||||
[ngModelOptions]="{ standalone: true }" /></td>
|
||||
<td><input type="text" nz-input [(ngModel)]="extraAttrEditCache[data.id].data.type"
|
||||
[ngModelOptions]="{ standalone: true }" /></td>
|
||||
<td><input type="text" nz-input [(ngModel)]="extraAttrEditCache[data.id].data.value"
|
||||
[ngModelOptions]="{ standalone: true }" /></td>
|
||||
<td
|
||||
><input type="text" nz-input [(ngModel)]="extraAttrEditCache[data.id].data.attr" [ngModelOptions]="{ standalone: true }"
|
||||
/></td>
|
||||
<td
|
||||
><input type="text" nz-input [(ngModel)]="extraAttrEditCache[data.id].data.type" [ngModelOptions]="{ standalone: true }"
|
||||
/></td>
|
||||
<td
|
||||
><input type="text" nz-input [(ngModel)]="extraAttrEditCache[data.id].data.value" [ngModelOptions]="{ standalone: true }"
|
||||
/></td>
|
||||
<td>
|
||||
<button nz-button type="button" (click)="saveExtraAttrEdit(data.id)" style="float: left">{{
|
||||
'mxk.text.submit' | i18n
|
||||
}}</button>
|
||||
}}</button>
|
||||
</td>
|
||||
</ng-template>
|
||||
</tr>
|
||||
@@ -563,4 +608,4 @@
|
||||
<div *nzModalFooter>
|
||||
<button nz-button nzType="default" (click)="onClose($event)">{{ 'mxk.text.close' | i18n }}</button>
|
||||
<button nz-button nzType="primary" (click)="onSubmit($event)">{{ 'mxk.text.submit' | i18n }}</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -60,9 +60,9 @@ export class AppOauth20DetailsEditerComponent implements OnInit {
|
||||
submitting: boolean;
|
||||
model: AppsOauth20Details;
|
||||
} = {
|
||||
submitting: false,
|
||||
model: new AppsOauth20Details()
|
||||
};
|
||||
submitting: false,
|
||||
model: new AppsOauth20Details()
|
||||
};
|
||||
|
||||
formGroup: FormGroup = new FormGroup({});
|
||||
|
||||
@@ -85,7 +85,7 @@ export class AppOauth20DetailsEditerComponent implements OnInit {
|
||||
private msg: NzMessageService,
|
||||
@Inject(ALAIN_I18N_TOKEN) private i18n: I18NService,
|
||||
private cdr: ChangeDetectorRef
|
||||
) { }
|
||||
) {}
|
||||
|
||||
ngOnInit(): void {
|
||||
if (this.isEdit) {
|
||||
|
||||
@@ -60,9 +60,9 @@ export class AppSaml20DetailsEditerComponent implements OnInit {
|
||||
submitting: boolean;
|
||||
model: AppsSamlDetails;
|
||||
} = {
|
||||
submitting: false,
|
||||
model: new AppsSamlDetails()
|
||||
};
|
||||
submitting: false,
|
||||
model: new AppsSamlDetails()
|
||||
};
|
||||
|
||||
formGroup: FormGroup = new FormGroup({});
|
||||
|
||||
@@ -85,7 +85,7 @@ export class AppSaml20DetailsEditerComponent implements OnInit {
|
||||
private msg: NzMessageService,
|
||||
@Inject(ALAIN_I18N_TOKEN) private i18n: I18NService,
|
||||
private cdr: ChangeDetectorRef
|
||||
) { }
|
||||
) {}
|
||||
|
||||
ngOnInit(): void {
|
||||
if (this.isEdit) {
|
||||
|
||||
@@ -8,22 +8,24 @@
|
||||
<nz-form-item style="width: 100%">
|
||||
<nz-form-label [nzMd]="8" nzRequired nzFor="id">{{ 'mxk.text.id' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzMd]="16" nzErrorTip="The input is not valid id!">
|
||||
<input [(ngModel)]="form.model.id" readonly [ngModelOptions]="{ standalone: true }" nz-input name="id"
|
||||
id="id" />
|
||||
<input [(ngModel)]="form.model.id" readonly [ngModelOptions]="{ standalone: true }" nz-input name="id" id="id" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item style="width: 100%">
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="secret">{{ 'mxk.apps.secret' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid secret!">
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="secret">{{ 'mxk.apps.secret' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid secret!">
|
||||
<nz-input-group nzSearch [nzAddOnAfter]="suffixPasswordButton">
|
||||
<input [(ngModel)]="form.model.secret" readonly [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="secret" id="secret" />
|
||||
<input
|
||||
[(ngModel)]="form.model.secret"
|
||||
readonly
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="secret"
|
||||
id="secret"
|
||||
/>
|
||||
</nz-input-group>
|
||||
<ng-template #suffixPasswordButton>
|
||||
<button nz-button nzType="primary" nzSearch (click)="onGenerateSecret($event)">{{ 'mxk.text.generate'
|
||||
| i18n }}</button>
|
||||
<button nz-button nzType="primary" nzSearch (click)="onGenerateSecret($event)">{{ 'mxk.text.generate' | i18n }}</button>
|
||||
</ng-template>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
@@ -32,44 +34,57 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="icon">{{ 'mxk.apps.icon' | i18n }}</nz-form-label>
|
||||
<div nz-col class="clearfix" nzSm="16" nzXs="24">
|
||||
<nz-upload nzAction="/file/upload/" nzListType="picture-card" [(nzFileList)]="fileList"
|
||||
nzName="uploadFile" [nzShowButton]="fileList.length < 1" [nzPreview]="handlePreview"
|
||||
(nzChange)="uploadImageChange($event)">
|
||||
<nz-upload
|
||||
nzAction="/file/upload/"
|
||||
nzListType="picture-card"
|
||||
[(nzFileList)]="fileList"
|
||||
nzName="uploadFile"
|
||||
[nzShowButton]="fileList.length < 1"
|
||||
[nzPreview]="handlePreview"
|
||||
(nzChange)="uploadImageChange($event)"
|
||||
>
|
||||
<div>
|
||||
<i nz-icon nzType="plus"></i>
|
||||
<div style="margin-top: 8px">Upload</div>
|
||||
</div>
|
||||
</nz-upload>
|
||||
<nz-modal [nzVisible]="previewVisible" [nzContent]="modalContent" [nzFooter]="null"
|
||||
(nzOnCancel)="previewVisible = false">
|
||||
<nz-modal [nzVisible]="previewVisible" [nzContent]="modalContent" [nzFooter]="null" (nzOnCancel)="previewVisible = false">
|
||||
<ng-template #modalContent>
|
||||
<img [src]="previewImage" [ngStyle]="{ width: '100%' }" />
|
||||
</ng-template>
|
||||
</nz-modal>
|
||||
</div>
|
||||
|
||||
<nz-form-control style="display: none" [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid icon!">
|
||||
<input [(ngModel)]="form.model.iconId" disabled="true" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="icon" id="icon" />
|
||||
<nz-form-control
|
||||
style="display: none"
|
||||
[nzSm]="16"
|
||||
[nzMd]="16"
|
||||
[nzXs]="36"
|
||||
[nzXl]="48"
|
||||
nzErrorTip="The input is not valid icon!"
|
||||
>
|
||||
<input
|
||||
[(ngModel)]="form.model.iconId"
|
||||
disabled="true"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="icon"
|
||||
id="icon"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="appName">{{ 'mxk.apps.name' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="appName">{{ 'mxk.apps.name' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid name!">
|
||||
<input [(ngModel)]="form.model.appName" [ngModelOptions]="{ standalone: true }" nz-input name="appName"
|
||||
id="appName" />
|
||||
<input [(ngModel)]="form.model.appName" [ngModelOptions]="{ standalone: true }" nz-input name="appName" id="appName" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="frequently">{{ 'mxk.apps.frequently' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid frequently!">
|
||||
<nz-radio-group [(ngModel)]="form.model.frequently" [ngModelOptions]="{ standalone: true }"
|
||||
nzButtonStyle="solid">
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid frequently!">
|
||||
<nz-radio-group [(ngModel)]="form.model.frequently" [ngModelOptions]="{ standalone: true }" nzButtonStyle="solid">
|
||||
<label nz-radio-button nzValue="yes">{{ 'mxk.text.yes' | i18n }}</label>
|
||||
<label nz-radio-button nzValue="no">{{ 'mxk.text.no' | i18n }}</label>
|
||||
</nz-radio-group>
|
||||
@@ -78,20 +93,15 @@
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="protocol">{{ 'mxk.apps.protocol' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid protocol!">
|
||||
<input [(ngModel)]="form.model.protocol" [ngModelOptions]="{ standalone: true }" nz-input name="protocol"
|
||||
id="protocol" />
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="protocol">{{ 'mxk.apps.protocol' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid protocol!">
|
||||
<input [(ngModel)]="form.model.protocol" [ngModelOptions]="{ standalone: true }" nz-input name="protocol" id="protocol" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="category">{{ 'mxk.apps.category' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid category!">
|
||||
<nz-select [(ngModel)]="form.model.category" [ngModelOptions]="{ standalone: true }" name="category"
|
||||
id="category">
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid category!">
|
||||
<nz-select [(ngModel)]="form.model.category" [ngModelOptions]="{ standalone: true }" name="category" id="category">
|
||||
<nz-option nzValue="none" nzLabel="{{ 'mxk.apps.category.none' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="1011" nzLabel="{{ 'mxk.apps.category.1011' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="1012" nzLabel="{{ 'mxk.apps.category.1012' | i18n }}"></nz-option>
|
||||
@@ -126,33 +136,31 @@
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item style="width: 100%">
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzRequired nzFor="loginUrl">{{ 'mxk.apps.loginUrl' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="20" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid loginUrl!">
|
||||
<input [(ngModel)]="form.model.loginUrl" [ngModelOptions]="{ standalone: true }" nz-input name="loginUrl"
|
||||
id="loginUrl" />
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzRequired nzFor="loginUrl">{{ 'mxk.apps.loginUrl' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="20" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid loginUrl!">
|
||||
<input [(ngModel)]="form.model.loginUrl" [ngModelOptions]="{ standalone: true }" nz-input name="loginUrl" id="loginUrl" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="status">{{ 'mxk.text.status' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="status">{{ 'mxk.text.status' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="14" [nzXs]="24" nzErrorTip="The input is not valid status!">
|
||||
<nz-switch [(ngModel)]="form.model.switch_status" [ngModelOptions]="{ standalone: true }" name="status"
|
||||
[nzCheckedChildren]="statuscheckedTemplate" [nzUnCheckedChildren]="statusunCheckedTemplate"></nz-switch>
|
||||
<nz-switch
|
||||
[(ngModel)]="form.model.switch_status"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
name="status"
|
||||
[nzCheckedChildren]="statuscheckedTemplate"
|
||||
[nzUnCheckedChildren]="statusunCheckedTemplate"
|
||||
></nz-switch>
|
||||
<ng-template #statuscheckedTemplate><i nz-icon nzType="check"></i></ng-template>
|
||||
<ng-template #statusunCheckedTemplate><i nz-icon nzType="close"></i></ng-template>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="isExtendAttr">{{ 'mxk.apps.isExtendAttr' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid isExtendAttr!">
|
||||
<nz-radio-group [(ngModel)]="form.model.isExtendAttr" [ngModelOptions]="{ standalone: true }"
|
||||
nzButtonStyle="solid">
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="isExtendAttr">{{ 'mxk.apps.isExtendAttr' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid isExtendAttr!">
|
||||
<nz-radio-group [(ngModel)]="form.model.isExtendAttr" [ngModelOptions]="{ standalone: true }" nzButtonStyle="solid">
|
||||
<label nz-radio-button nzValue="0">{{ 'mxk.text.no' | i18n }}</label>
|
||||
<label nz-radio-button nzValue="1">{{ 'mxk.text.yes' | i18n }}</label>
|
||||
</nz-radio-group>
|
||||
@@ -163,23 +171,23 @@
|
||||
<nz-tab nzTitle="{{ 'mxk.apps.tokenbased.tab' | i18n }}">
|
||||
<div nz-row>
|
||||
<nz-form-item style="width: 100%">
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzRequired nzFor="redirectUri">{{ 'mxk.apps.jwt.redirectUri' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="20" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid redirectUri!">
|
||||
<input [(ngModel)]="form.model.redirectUri" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="redirectUri" id="redirectUri" />
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzRequired nzFor="redirectUri">{{ 'mxk.apps.jwt.redirectUri' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="20" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid redirectUri!">
|
||||
<input
|
||||
[(ngModel)]="form.model.redirectUri"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="redirectUri"
|
||||
id="redirectUri"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="tokenType">{{ 'mxk.apps.tokenbased.tokenType' | i18n
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid tokenType!">
|
||||
<nz-select [(ngModel)]="form.model.tokenType" [ngModelOptions]="{ standalone: true }" name="tokenType"
|
||||
id="tokenType">
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="tokenType">{{ 'mxk.apps.tokenbased.tokenType' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid tokenType!">
|
||||
<nz-select [(ngModel)]="form.model.tokenType" [ngModelOptions]="{ standalone: true }" name="tokenType" id="tokenType">
|
||||
<nz-option nzValue="POST" nzLabel="POST"></nz-option>
|
||||
<nz-option nzValue="GET" nzLabel="GET"></nz-option>
|
||||
<nz-option nzValue="LTPA" nzLabel="LTPA"></nz-option>
|
||||
@@ -190,22 +198,29 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="cookieName">{{
|
||||
'mxk.apps.tokenbased.cookieName' | i18n
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid cookieName!">
|
||||
<input [(ngModel)]="form.model.cookieName" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="cookieName" id="cookieName" />
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid cookieName!">
|
||||
<input
|
||||
[(ngModel)]="form.model.cookieName"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="cookieName"
|
||||
id="cookieName"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="algorithm">{{ 'mxk.apps.tokenbased.algorithm' | i18n
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid algorithm!">
|
||||
<nz-select [(ngModel)]="form.model.algorithm" (ngModelChange)="onSelectAlgorithm($event)"
|
||||
[ngModelOptions]="{ standalone: true }" name="algorithm" id="algorithm">
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="algorithm">{{ 'mxk.apps.tokenbased.algorithm' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid algorithm!">
|
||||
<nz-select
|
||||
[(ngModel)]="form.model.algorithm"
|
||||
(ngModelChange)="onSelectAlgorithm($event)"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
name="algorithm"
|
||||
id="algorithm"
|
||||
>
|
||||
<nz-option nzValue="DES" nzLabel="DES"></nz-option>
|
||||
<nz-option nzValue="DESede" nzLabel="DESede"></nz-option>
|
||||
<nz-option nzValue="Blowfish" nzLabel="Blowfish"></nz-option>
|
||||
@@ -215,13 +230,10 @@
|
||||
</nz-form-item>
|
||||
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="expires">{{ 'mxk.apps.tokenbased.expires' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid expires!">
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="expires">{{ 'mxk.apps.tokenbased.expires' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid expires!">
|
||||
<nz-input-group nzAddOnAfter="{{ 'mxk.text.second' | i18n }}">
|
||||
<input [(ngModel)]="form.model.expires" [ngModelOptions]="{ standalone: true }" nz-input name="expires"
|
||||
id="expires" />
|
||||
<input [(ngModel)]="form.model.expires" [ngModelOptions]="{ standalone: true }" nz-input name="expires" id="expires" />
|
||||
</nz-input-group>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
@@ -230,11 +242,15 @@
|
||||
<nz-form-item style="width: 100%">
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzRequired nzFor="userPropertys">{{
|
||||
'mxk.apps.tokenbased.token.content' | i18n
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="20" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid userPropertys!">
|
||||
<nz-select [(ngModel)]="form.model.select_userPropertys" nzMode="multiple" nzPlaceHolder="Please select"
|
||||
[ngModelOptions]="{ standalone: true }" name="userPropertys">
|
||||
}}</nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="20" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid userPropertys!">
|
||||
<nz-select
|
||||
[(ngModel)]="form.model.select_userPropertys"
|
||||
nzMode="multiple"
|
||||
nzPlaceHolder="Please select"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
name="userPropertys"
|
||||
>
|
||||
<nz-option nzValue="userId" nzLabel="{{ 'mxk.users.id' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="username" nzLabel="{{ 'mxk.users.username' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="displayName" nzLabel="{{ 'mxk.users.displayName' | i18n }}"></nz-option>
|
||||
@@ -258,18 +274,14 @@
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="logoutUrl">{{ 'mxk.apps.logoutUrl' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid logoutUrl!">
|
||||
<input [(ngModel)]="form.model.logoutUrl" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="logoutUrl" id="logoutUrl" />
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid logoutUrl!">
|
||||
<input [(ngModel)]="form.model.logoutUrl" [ngModelOptions]="{ standalone: true }" nz-input name="logoutUrl" id="logoutUrl" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="logoutType">{{ 'mxk.apps.logoutType' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid logoutType!">
|
||||
<nz-select [(ngModel)]="form.model.logoutType" [ngModelOptions]="{ standalone: true }" name="logoutType"
|
||||
id="logoutType">
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid logoutType!">
|
||||
<nz-select [(ngModel)]="form.model.logoutType" [ngModelOptions]="{ standalone: true }" name="logoutType" id="logoutType">
|
||||
<nz-option nzValue="0" nzLabel="{{ 'mxk.apps.logoutType.none' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="1" nzLabel="{{ 'mxk.apps.logoutType.back_channel' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="2" nzLabel="{{ 'mxk.apps.logoutType.front_channel' | i18n }}"></nz-option>
|
||||
@@ -281,10 +293,8 @@
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="visible">{{ 'mxk.apps.visible' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid visible!">
|
||||
<nz-select [(ngModel)]="form.model.visible" [ngModelOptions]="{ standalone: true }" name="visible"
|
||||
id="visible">
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid visible!">
|
||||
<nz-select [(ngModel)]="form.model.visible" [ngModelOptions]="{ standalone: true }" name="visible" id="visible">
|
||||
<nz-option nzValue="0" nzLabel="{{ 'mxk.apps.visible.hidden' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="1" nzLabel="{{ 'mxk.apps.visible.all' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="2" nzLabel="{{ 'mxk.apps.visible.internet' | i18n }}"></nz-option>
|
||||
@@ -294,38 +304,30 @@
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="sortIndex">{{ 'mxk.text.sortIndex' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid sortIndex!">
|
||||
<input [(ngModel)]="form.model.sortIndex" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="sortIndex" id="sortIndex" />
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid sortIndex!">
|
||||
<input [(ngModel)]="form.model.sortIndex" [ngModelOptions]="{ standalone: true }" nz-input name="sortIndex" id="sortIndex" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="vendor">{{ 'mxk.apps.vendor' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid vendor!">
|
||||
<input [(ngModel)]="form.model.vendor" [ngModelOptions]="{ standalone: true }" nz-input name="vendor"
|
||||
id="vendor" />
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid vendor!">
|
||||
<input [(ngModel)]="form.model.vendor" [ngModelOptions]="{ standalone: true }" nz-input name="vendor" id="vendor" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="vendorUrl">{{ 'mxk.apps.vendor.url' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid vendorUrl!">
|
||||
<input [(ngModel)]="form.model.vendorUrl" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="vendorUrl" id="vendorUrl" />
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid vendorUrl!">
|
||||
<input [(ngModel)]="form.model.vendorUrl" [ngModelOptions]="{ standalone: true }" nz-input name="vendorUrl" id="vendorUrl" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="isAdapter">{{ 'mxk.apps.isAdapter' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid isAdapter!">
|
||||
<nz-select [(ngModel)]="form.model.isAdapter" [ngModelOptions]="{ standalone: true }" name="isAdapter"
|
||||
id="isAdapter">
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid isAdapter!">
|
||||
<nz-select [(ngModel)]="form.model.isAdapter" [ngModelOptions]="{ standalone: true }" name="isAdapter" id="isAdapter">
|
||||
<nz-option nzValue="0" nzLabel="{{ 'mxk.apps.isAdapter.no' | i18n }}"></nz-option>
|
||||
<nz-option nzValue="1" nzLabel="{{ 'mxk.apps.isAdapter.yes' | i18n }}"></nz-option>
|
||||
</nz-select>
|
||||
@@ -333,31 +335,49 @@
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="8" [nzXs]="24" nzFor="adapterName">{{ 'mxk.apps.adapter' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid adapterName!">
|
||||
<nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid adapterName!">
|
||||
<nz-input-group nzSearch [nzAddOnAfter]="suffixAdapterButton">
|
||||
<input [(ngModel)]="form.model.adapterName" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="adapterName" id="adapterName" />
|
||||
<input
|
||||
[(ngModel)]="form.model.adapterName"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="adapterName"
|
||||
id="adapterName"
|
||||
/>
|
||||
</nz-input-group>
|
||||
<ng-template #suffixAdapterButton>
|
||||
<button nz-button nzType="primary" nzSearch (click)="onSelectAdapter($event)">{{ 'mxk.text.select' |
|
||||
i18n }}</button>
|
||||
<button nz-button nzType="primary" nzSearch (click)="onSelectAdapter($event)">{{ 'mxk.text.select' | i18n }}</button>
|
||||
</ng-template>
|
||||
<input type="hidden" [(ngModel)]="form.model.adapterId" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="adapterId" id="adapterId" />
|
||||
<input type="hidden" [(ngModel)]="form.model.adapter" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="adapter" id="adapter" />
|
||||
<input
|
||||
type="hidden"
|
||||
[(ngModel)]="form.model.adapterId"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="adapterId"
|
||||
id="adapterId"
|
||||
/>
|
||||
<input
|
||||
type="hidden"
|
||||
[(ngModel)]="form.model.adapter"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="adapter"
|
||||
id="adapter"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<div nz-row>
|
||||
<nz-form-item style="width: 100%">
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzFor="description">{{ 'mxk.text.description' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="16" [nzXs]="36" [nzXl]="48"
|
||||
nzErrorTip="The input is not valid description!">
|
||||
<input [(ngModel)]="form.model.description" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="description" id="description" />
|
||||
<nz-form-label [nzSm]="4" [nzXs]="24" nzFor="description">{{ 'mxk.text.description' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="20" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid description!">
|
||||
<input
|
||||
[(ngModel)]="form.model.description"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="description"
|
||||
id="description"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
@@ -382,22 +402,24 @@
|
||||
<td>
|
||||
<button nz-button type="button" (click)="startExtraAttrEdit(data.id)" style="float: left">{{
|
||||
'mxk.text.edit' | i18n
|
||||
}}</button>
|
||||
<button nz-button type="button" (click)="deleteExtraAttrRow(data.id)" nzDanger>{{ 'mxk.text.delete' |
|
||||
i18n }}</button>
|
||||
}}</button>
|
||||
<button nz-button type="button" (click)="deleteExtraAttrRow(data.id)" nzDanger>{{ 'mxk.text.delete' | i18n }}</button>
|
||||
</td>
|
||||
</ng-container>
|
||||
<ng-template #editTemplate>
|
||||
<td><input type="text" nz-input [(ngModel)]="extraAttrEditCache[data.id].data.attr"
|
||||
[ngModelOptions]="{ standalone: true }" /></td>
|
||||
<td><input type="text" nz-input [(ngModel)]="extraAttrEditCache[data.id].data.type"
|
||||
[ngModelOptions]="{ standalone: true }" /></td>
|
||||
<td><input type="text" nz-input [(ngModel)]="extraAttrEditCache[data.id].data.value"
|
||||
[ngModelOptions]="{ standalone: true }" /></td>
|
||||
<td
|
||||
><input type="text" nz-input [(ngModel)]="extraAttrEditCache[data.id].data.attr" [ngModelOptions]="{ standalone: true }"
|
||||
/></td>
|
||||
<td
|
||||
><input type="text" nz-input [(ngModel)]="extraAttrEditCache[data.id].data.type" [ngModelOptions]="{ standalone: true }"
|
||||
/></td>
|
||||
<td
|
||||
><input type="text" nz-input [(ngModel)]="extraAttrEditCache[data.id].data.value" [ngModelOptions]="{ standalone: true }"
|
||||
/></td>
|
||||
<td>
|
||||
<button nz-button type="button" (click)="saveExtraAttrEdit(data.id)" style="float: left">{{
|
||||
'mxk.text.submit' | i18n
|
||||
}}</button>
|
||||
}}</button>
|
||||
</td>
|
||||
</ng-template>
|
||||
</tr>
|
||||
@@ -411,4 +433,4 @@
|
||||
<div *nzModalFooter>
|
||||
<button nz-button nzType="default" (click)="onClose($event)">{{ 'mxk.text.close' | i18n }}</button>
|
||||
<button nz-button nzType="primary" (click)="onSubmit($event)">{{ 'mxk.text.submit' | i18n }}</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -61,9 +61,9 @@ export class AppTokenBasedDetailsEditerComponent implements OnInit {
|
||||
submitting: boolean;
|
||||
model: AppsTokenBasedDetails;
|
||||
} = {
|
||||
submitting: false,
|
||||
model: new AppsTokenBasedDetails()
|
||||
};
|
||||
submitting: false,
|
||||
model: new AppsTokenBasedDetails()
|
||||
};
|
||||
|
||||
formGroup: FormGroup = new FormGroup({});
|
||||
|
||||
@@ -86,7 +86,7 @@ export class AppTokenBasedDetailsEditerComponent implements OnInit {
|
||||
private msg: NzMessageService,
|
||||
@Inject(ALAIN_I18N_TOKEN) private i18n: I18NService,
|
||||
private cdr: ChangeDetectorRef
|
||||
) { }
|
||||
) {}
|
||||
|
||||
ngOnInit(): void {
|
||||
if (this.isEdit) {
|
||||
|
||||
@@ -7,8 +7,14 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label nzFor="appName">{{ 'mxk.apps.name' | i18n }}</nz-form-label>
|
||||
<nz-form-control>
|
||||
<input nz-input [(ngModel)]="query.params.appName" [ngModelOptions]="{ standalone: true }" name="appName"
|
||||
placeholder="" id="appName" />
|
||||
<input
|
||||
nz-input
|
||||
[(ngModel)]="query.params.appName"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
name="appName"
|
||||
placeholder=""
|
||||
id="appName"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
@@ -34,12 +40,11 @@
|
||||
</div>
|
||||
<div nz-col [nzSpan]="query.expandForm ? 24 : 4" [class.text-right]="query.expandForm">
|
||||
<nz-form-item>
|
||||
<button nz-button type="submit" [nzType]="'primary'" [nzLoading]="query.submitLoading">{{ 'mxk.text.query' |
|
||||
i18n }}</button>
|
||||
<button nz-button type="reset" (click)="onReset()" class="mx-sm" style="display: none">{{ 'mxk.text.reset' |
|
||||
i18n }}</button>
|
||||
<button nz-button type="submit" [nzType]="'primary'" [nzLoading]="query.submitLoading">{{ 'mxk.text.query' | i18n }}</button>
|
||||
<button nz-button type="reset" (click)="onReset()" class="mx-sm" style="display: none">{{ 'mxk.text.reset' | i18n }}</button>
|
||||
<button nz-button (click)="query.expandForm = !query.expandForm" class="mx-sm" style="display: none">
|
||||
{{ query.expandForm ? ('mxk.text.collapse' | i18n) : ('mxk.text.expand' | i18n) }}</button>
|
||||
{{ query.expandForm ? ('mxk.text.collapse' | i18n) : ('mxk.text.expand' | i18n) }}</button
|
||||
>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
</div>
|
||||
@@ -66,29 +71,45 @@
|
||||
|
||||
<button nz-button type="button" (click)="onBatchDelete($event)" [nzType]="'primary'" nzDanger class="mx-sm">{{
|
||||
'mxk.text.delete' | i18n
|
||||
}}</button>
|
||||
}}</button>
|
||||
</div>
|
||||
<nz-table #dynamicTable nzTableLayout="auto" nzSize="small" nzBordered nzShowSizeChanger [nzData]="query.results.rows"
|
||||
[nzFrontPagination]="false" [nzTotal]="query.results.records" [nzPageSizeOptions]="query.params.pageSizeOptions"
|
||||
[nzPageSize]="query.params.pageSize" [nzPageIndex]="query.params.pageNumber" [nzLoading]="this.query.tableLoading"
|
||||
(nzQueryParams)="onQueryParamsChange($event)" nzWidth="100%">
|
||||
<nz-table
|
||||
#dynamicTable
|
||||
nzTableLayout="auto"
|
||||
nzSize="small"
|
||||
nzBordered
|
||||
nzShowSizeChanger
|
||||
[nzData]="query.results.rows"
|
||||
[nzFrontPagination]="false"
|
||||
[nzTotal]="query.results.records"
|
||||
[nzPageSizeOptions]="query.params.pageSizeOptions"
|
||||
[nzPageSize]="query.params.pageSize"
|
||||
[nzPageIndex]="query.params.pageNumber"
|
||||
[nzLoading]="this.query.tableLoading"
|
||||
(nzQueryParams)="onQueryParamsChange($event)"
|
||||
nzWidth="100%"
|
||||
>
|
||||
<thead>
|
||||
<tr>
|
||||
<th [nzChecked]="query.checked" [nzIndeterminate]="query.indeterminate"
|
||||
(nzCheckedChange)="onTableAllChecked($event)"></th>
|
||||
<th [nzChecked]="query.checked" [nzIndeterminate]="query.indeterminate" (nzCheckedChange)="onTableAllChecked($event)"></th>
|
||||
<th nzAlign="center" style="display: none">Id</th>
|
||||
<th nzAlign="center">{{ 'mxk.apps.icon' | i18n }}</th>
|
||||
<th nzAlign="center">{{ 'mxk.apps.name' | i18n }}</th>
|
||||
<th nzAlign="center">{{ 'mxk.apps.protocol' | i18n }}</th>
|
||||
<th nzAlign="center">{{ 'mxk.apps.category' | i18n }}</th>
|
||||
<th nzAlign="center">{{ 'mxk.text.status' | i18n }}</th>
|
||||
<th nzAlign="center"><a>{{ 'mxk.text.action' | i18n }}</a></th>
|
||||
<th nzAlign="center"
|
||||
><a>{{ 'mxk.text.action' | i18n }}</a></th
|
||||
>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr *ngFor="let data of query.results.rows">
|
||||
<td [nzChecked]="query.tableCheckedId.has(data.id)" [nzDisabled]="data.disabled"
|
||||
(nzCheckedChange)="onTableItemChecked(data.id, $event)"></td>
|
||||
<td
|
||||
[nzChecked]="query.tableCheckedId.has(data.id)"
|
||||
[nzDisabled]="data.disabled"
|
||||
(nzCheckedChange)="onTableItemChecked(data.id, $event)"
|
||||
></td>
|
||||
<td nzAlign="left" style="display: none">
|
||||
<span>{{ data.id }}</span>
|
||||
</td>
|
||||
@@ -126,22 +147,19 @@
|
||||
<div *ngIf="data.category == '1911'">{{ 'mxk.apps.category.1911' | i18n }}</div>
|
||||
<div *ngIf="data.category == '1912'">{{ 'mxk.apps.category.1912' | i18n }}</div>
|
||||
</td>
|
||||
<td nzAlign="center"> <i *ngIf="data.status == 1" nz-icon nzType="check-circle" nzTheme="fill"
|
||||
style="color: green"></i></td>
|
||||
<td nzAlign="center"> <i *ngIf="data.status == 1" nz-icon nzType="check-circle" nzTheme="fill" style="color: green"></i></td>
|
||||
<td nzAlign="left" nzBreakWord="false">
|
||||
<div nz-col>
|
||||
<button nz-button type="button" (click)="onResourcesMgmt($event, data.id, data.appName)"
|
||||
style="float: left">{{
|
||||
<button nz-button type="button" (click)="onResourcesMgmt($event, data.id, data.appName)" style="float: left">{{
|
||||
'mxk.apps.resources' | i18n
|
||||
}}</button>
|
||||
}}</button>
|
||||
<button nz-button type="button" (click)="onEdit($event, data.id, data.protocol)" style="float: left">{{
|
||||
'mxk.text.edit' | i18n
|
||||
}}</button>
|
||||
<button nz-button type="button" (click)="onDelete($event, data.id)" nzDanger>{{ 'mxk.text.delete' | i18n
|
||||
}}</button>
|
||||
}}</button>
|
||||
<button nz-button type="button" (click)="onDelete($event, data.id)" nzDanger>{{ 'mxk.text.delete' | i18n }}</button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</nz-table>
|
||||
</nz-card>
|
||||
</nz-card>
|
||||
|
||||
@@ -66,29 +66,29 @@ export class AppsComponent implements OnInit {
|
||||
indeterminate: boolean;
|
||||
checked: boolean;
|
||||
} = {
|
||||
params: {
|
||||
appName: '',
|
||||
displayName: '',
|
||||
protocol: '',
|
||||
startDate: '',
|
||||
endDate: '',
|
||||
startDatePicker: addDays(new Date(), -30),
|
||||
endDatePicker: new Date(),
|
||||
pageSize: 10,
|
||||
pageNumber: 1,
|
||||
pageSizeOptions: [10, 20, 50]
|
||||
},
|
||||
results: {
|
||||
records: 0,
|
||||
rows: []
|
||||
},
|
||||
expandForm: false,
|
||||
submitLoading: false,
|
||||
tableLoading: false,
|
||||
tableCheckedId: new Set<String>(),
|
||||
indeterminate: false,
|
||||
checked: false
|
||||
};
|
||||
params: {
|
||||
appName: '',
|
||||
displayName: '',
|
||||
protocol: '',
|
||||
startDate: '',
|
||||
endDate: '',
|
||||
startDatePicker: addDays(new Date(), -30),
|
||||
endDatePicker: new Date(),
|
||||
pageSize: 10,
|
||||
pageNumber: 1,
|
||||
pageSizeOptions: [10, 20, 50]
|
||||
},
|
||||
results: {
|
||||
records: 0,
|
||||
rows: []
|
||||
},
|
||||
expandForm: false,
|
||||
submitLoading: false,
|
||||
tableLoading: false,
|
||||
tableCheckedId: new Set<String>(),
|
||||
indeterminate: false,
|
||||
checked: false
|
||||
};
|
||||
|
||||
constructor(
|
||||
private modalService: NzModalService,
|
||||
@@ -99,7 +99,7 @@ export class AppsComponent implements OnInit {
|
||||
@Inject(ALAIN_I18N_TOKEN) private i18n: I18NService,
|
||||
private router: Router,
|
||||
private cdr: ChangeDetectorRef
|
||||
) { }
|
||||
) {}
|
||||
|
||||
ngOnInit(): void {
|
||||
this.fetch();
|
||||
@@ -115,7 +115,7 @@ export class AppsComponent implements OnInit {
|
||||
this.fetch();
|
||||
}
|
||||
|
||||
onReset(): void { }
|
||||
onReset(): void {}
|
||||
|
||||
onBatchDelete(e: MouseEvent): void {
|
||||
e.preventDefault();
|
||||
|
||||
@@ -6,28 +6,44 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label nzFor="appName">{{ 'mxk.apps.name' | i18n }}</nz-form-label>
|
||||
<nz-form-control>
|
||||
<input nz-input [(ngModel)]="query.params.appName" [ngModelOptions]="{ standalone: true }" name="appName"
|
||||
placeholder="" id="appName" />
|
||||
<input
|
||||
nz-input
|
||||
[(ngModel)]="query.params.appName"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
name="appName"
|
||||
placeholder=""
|
||||
id="appName"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
|
||||
<div nz-col [nzSpan]="query.expandForm ? 24 : 10" [class.text-right]="query.expandForm">
|
||||
<button nz-button type="submit" [nzType]="'primary'" [nzLoading]="query.submitLoading">{{ 'mxk.text.query' |
|
||||
i18n }}</button>
|
||||
<button nz-button type="reset" (click)="onReset()" class="mx-sm" style="display: none">{{ 'mxk.text.reset' |
|
||||
i18n }}</button>
|
||||
<button nz-button type="submit" [nzType]="'primary'" [nzLoading]="query.submitLoading">{{ 'mxk.text.query' | i18n }}</button>
|
||||
<button nz-button type="reset" (click)="onReset()" class="mx-sm" style="display: none">{{ 'mxk.text.reset' | i18n }}</button>
|
||||
<button nz-button (click)="query.expandForm = !query.expandForm" class="mx-sm" style="display: none">
|
||||
{{ query.expandForm ? ('mxk.text.collapse' | i18n) : ('mxk.text.expand' | i18n) }}</button>
|
||||
{{ query.expandForm ? ('mxk.text.collapse' | i18n) : ('mxk.text.expand' | i18n) }}</button
|
||||
>
|
||||
<button nz-button nzType="primary" (click)="onSubmit($event)">{{ 'mxk.text.confirm' | i18n }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<nz-table #dynamicTable nzTableLayout="auto" nzBordered nzShowSizeChanger [nzData]="query.results.rows"
|
||||
[nzFrontPagination]="false" [nzTotal]="query.results.records" [nzPageSizeOptions]="query.params.pageSizeOptions"
|
||||
[nzPageSize]="query.params.pageSize" [nzPageIndex]="query.params.pageNumber" [nzLoading]="this.query.tableLoading"
|
||||
(nzQueryParams)="onQueryParamsChange($event)" nzWidth="100%">
|
||||
<nz-table
|
||||
#dynamicTable
|
||||
nzTableLayout="auto"
|
||||
nzBordered
|
||||
nzShowSizeChanger
|
||||
[nzData]="query.results.rows"
|
||||
[nzFrontPagination]="false"
|
||||
[nzTotal]="query.results.records"
|
||||
[nzPageSizeOptions]="query.params.pageSizeOptions"
|
||||
[nzPageSize]="query.params.pageSize"
|
||||
[nzPageIndex]="query.params.pageNumber"
|
||||
[nzLoading]="this.query.tableLoading"
|
||||
(nzQueryParams)="onQueryParamsChange($event)"
|
||||
nzWidth="100%"
|
||||
>
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
@@ -39,8 +55,11 @@
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr *ngFor="let data of query.results.rows">
|
||||
<td [nzChecked]="query.tableCheckedId.has(data.id)" [nzDisabled]="data.disabled"
|
||||
(nzCheckedChange)="onTableItemChecked(data.id, $event)"></td>
|
||||
<td
|
||||
[nzChecked]="query.tableCheckedId.has(data.id)"
|
||||
[nzDisabled]="data.disabled"
|
||||
(nzCheckedChange)="onTableItemChecked(data.id, $event)"
|
||||
></td>
|
||||
<td nzAlign="left" style="display: none">
|
||||
<span>{{ data.id }}</span>
|
||||
</td>
|
||||
@@ -84,4 +103,4 @@
|
||||
<div *nzModalFooter style="display: none">
|
||||
<button nz-button nzType="default" (click)="onClose($event)">{{ 'mxk.text.close' | i18n }}</button>
|
||||
<button nz-button nzType="primary" (click)="onSubmit($event)">{{ 'mxk.text.submit' | i18n }}</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -56,29 +56,29 @@ export class SelectAppsComponent implements OnInit {
|
||||
indeterminate: boolean;
|
||||
checked: boolean;
|
||||
} = {
|
||||
params: {
|
||||
appName: '',
|
||||
displayName: '',
|
||||
protocol: '',
|
||||
startDate: '',
|
||||
endDate: '',
|
||||
startDatePicker: addDays(new Date(), -30),
|
||||
endDatePicker: new Date(),
|
||||
pageSize: 5,
|
||||
pageNumber: 1,
|
||||
pageSizeOptions: [5, 15, 50]
|
||||
},
|
||||
results: {
|
||||
records: 0,
|
||||
rows: []
|
||||
},
|
||||
expandForm: false,
|
||||
submitLoading: false,
|
||||
tableLoading: false,
|
||||
tableCheckedId: new Set<String>(),
|
||||
indeterminate: false,
|
||||
checked: false
|
||||
};
|
||||
params: {
|
||||
appName: '',
|
||||
displayName: '',
|
||||
protocol: '',
|
||||
startDate: '',
|
||||
endDate: '',
|
||||
startDatePicker: addDays(new Date(), -30),
|
||||
endDatePicker: new Date(),
|
||||
pageSize: 5,
|
||||
pageNumber: 1,
|
||||
pageSizeOptions: [5, 15, 50]
|
||||
},
|
||||
results: {
|
||||
records: 0,
|
||||
rows: []
|
||||
},
|
||||
expandForm: false,
|
||||
submitLoading: false,
|
||||
tableLoading: false,
|
||||
tableCheckedId: new Set<String>(),
|
||||
indeterminate: false,
|
||||
checked: false
|
||||
};
|
||||
|
||||
constructor(
|
||||
private modalRef: NzModalRef,
|
||||
@@ -87,7 +87,7 @@ export class SelectAppsComponent implements OnInit {
|
||||
private fb: FormBuilder,
|
||||
private msg: NzMessageService,
|
||||
private cdr: ChangeDetectorRef
|
||||
) { }
|
||||
) {}
|
||||
|
||||
ngOnInit(): void {
|
||||
this.fetch();
|
||||
@@ -103,7 +103,7 @@ export class SelectAppsComponent implements OnInit {
|
||||
this.fetch();
|
||||
}
|
||||
|
||||
onReset(): void { }
|
||||
onReset(): void {}
|
||||
|
||||
fetch(): void {
|
||||
this.query.submitLoading = true;
|
||||
|
||||
@@ -7,8 +7,7 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label nzFor="conName">{{ 'mxk.history.connector.conName' | i18n }}</nz-form-label>
|
||||
<nz-form-control>
|
||||
<input nz-input [(ngModel)]="query.params.conName" [ngModelOptions]="{ standalone: true }" name="conName"
|
||||
id="conName" />
|
||||
<input nz-input [(ngModel)]="query.params.conName" [ngModelOptions]="{ standalone: true }" name="conName" id="conName" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
@@ -16,8 +15,13 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label nzFor="sourceName">{{ 'mxk.history.connector.sourceName' | i18n }}</nz-form-label>
|
||||
<nz-form-control>
|
||||
<input nz-input [(ngModel)]="query.params.sourceName" [ngModelOptions]="{ standalone: true }"
|
||||
id="sourceName" name="sourceName" />
|
||||
<input
|
||||
nz-input
|
||||
[(ngModel)]="query.params.sourceName"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
id="sourceName"
|
||||
name="sourceName"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
@@ -25,8 +29,13 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label nzFor="employeeNumber">{{ 'mxk.users.employeeNumber' | i18n }}</nz-form-label>
|
||||
<nz-form-control>
|
||||
<input nz-input [(ngModel)]="query.params.employeeNumber" [ngModelOptions]="{ standalone: true }"
|
||||
id="employeeNumber" name="employeeNumber" />
|
||||
<input
|
||||
nz-input
|
||||
[(ngModel)]="query.params.employeeNumber"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
id="employeeNumber"
|
||||
name="employeeNumber"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
@@ -34,8 +43,14 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label nzFor="startDatePicker">{{ 'mxk.text.startDate' | i18n }}</nz-form-label>
|
||||
<nz-form-control>
|
||||
<nz-date-picker nzShowTime nzFormat="yyyy-MM-dd HH:mm:ss" [(ngModel)]="query.params.startDatePicker"
|
||||
[ngModelOptions]="{ standalone: true }" name="startDatePicker" nzPlaceHolder="startDatePicker">
|
||||
<nz-date-picker
|
||||
nzShowTime
|
||||
nzFormat="yyyy-MM-dd HH:mm:ss"
|
||||
[(ngModel)]="query.params.startDatePicker"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
name="startDatePicker"
|
||||
nzPlaceHolder="startDatePicker"
|
||||
>
|
||||
</nz-date-picker>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
@@ -44,29 +59,45 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label nzFor="endDatePicker">{{ 'mxk.text.endDate' | i18n }}</nz-form-label>
|
||||
<nz-form-control>
|
||||
<nz-date-picker nzShowTime nzFormat="yyyy-MM-dd HH:mm:ss" [(ngModel)]="query.params.endDatePicker"
|
||||
[ngModelOptions]="{ standalone: true }" name="endDatePicker" nzPlaceHolder="endDatePicker">
|
||||
<nz-date-picker
|
||||
nzShowTime
|
||||
nzFormat="yyyy-MM-dd HH:mm:ss"
|
||||
[(ngModel)]="query.params.endDatePicker"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
name="endDatePicker"
|
||||
nzPlaceHolder="endDatePicker"
|
||||
>
|
||||
</nz-date-picker>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
|
||||
<div nz-col [nzSpan]="query.expandForm ? 24 : 8" [class.text-right]="query.expandForm">
|
||||
<button nz-button type="submit" [nzType]="'primary'" [nzLoading]="query.submitLoading">{{ 'mxk.text.query' |
|
||||
i18n }}</button>
|
||||
<button nz-button type="submit" [nzType]="'primary'" [nzLoading]="query.submitLoading">{{ 'mxk.text.query' | i18n }}</button>
|
||||
<button nz-button type="reset" (click)="onReset()" class="mx-sm">{{ 'mxk.text.reset' | i18n }}</button>
|
||||
<button nz-button (click)="query.expandForm = !query.expandForm" class="mx-sm">
|
||||
{{ query.expandForm ? ('mxk.text.collapse' | i18n) : ('mxk.text.expand' | i18n) }}</button>
|
||||
{{ query.expandForm ? ('mxk.text.collapse' | i18n) : ('mxk.text.expand' | i18n) }}</button
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</nz-card>
|
||||
<nz-card>
|
||||
<nz-table #dynamicTable nzTableLayout="auto" nzSize="small" nzShowSizeChanger [nzBordered]="true"
|
||||
[nzData]="query.results.rows" [nzFrontPagination]="false" [nzTotal]="query.results.records"
|
||||
[nzPageSizeOptions]="query.params.pageSizeOptions" [nzPageSize]="query.params.pageSize"
|
||||
[nzPageIndex]="query.params.pageNumber" [nzLoading]="this.query.tableLoading"
|
||||
(nzQueryParams)="onQueryParamsChange($event)">
|
||||
<nz-table
|
||||
#dynamicTable
|
||||
nzTableLayout="auto"
|
||||
nzSize="small"
|
||||
nzShowSizeChanger
|
||||
[nzBordered]="true"
|
||||
[nzData]="query.results.rows"
|
||||
[nzFrontPagination]="false"
|
||||
[nzTotal]="query.results.records"
|
||||
[nzPageSizeOptions]="query.params.pageSizeOptions"
|
||||
[nzPageSize]="query.params.pageSize"
|
||||
[nzPageIndex]="query.params.pageNumber"
|
||||
[nzLoading]="this.query.tableLoading"
|
||||
(nzQueryParams)="onQueryParamsChange($event)"
|
||||
>
|
||||
<thead>
|
||||
<tr>
|
||||
<th nzAlign="center">{{ 'mxk.history.connector.id' | i18n }}</th>
|
||||
@@ -94,4 +125,4 @@
|
||||
</tr>
|
||||
</tbody>
|
||||
</nz-table>
|
||||
</nz-card>
|
||||
</nz-card>
|
||||
|
||||
@@ -51,33 +51,33 @@ export class AuditConnectorComponent implements OnInit {
|
||||
submitLoading: boolean;
|
||||
tableLoading: boolean;
|
||||
} = {
|
||||
params: {
|
||||
conName: '',
|
||||
sourceName: '',
|
||||
employeeNumber: '',
|
||||
startDate: '',
|
||||
endDate: '',
|
||||
startDatePicker: addDays(new Date(), -30),
|
||||
endDatePicker: new Date(),
|
||||
pageSize: 10,
|
||||
pageNumber: 1,
|
||||
pageSizeOptions: [10, 20, 50]
|
||||
},
|
||||
results: {
|
||||
records: 0,
|
||||
rows: []
|
||||
},
|
||||
expandForm: false,
|
||||
submitLoading: false,
|
||||
tableLoading: false
|
||||
};
|
||||
params: {
|
||||
conName: '',
|
||||
sourceName: '',
|
||||
employeeNumber: '',
|
||||
startDate: '',
|
||||
endDate: '',
|
||||
startDatePicker: addDays(new Date(), -30),
|
||||
endDatePicker: new Date(),
|
||||
pageSize: 10,
|
||||
pageNumber: 1,
|
||||
pageSizeOptions: [10, 20, 50]
|
||||
},
|
||||
results: {
|
||||
records: 0,
|
||||
rows: []
|
||||
},
|
||||
expandForm: false,
|
||||
submitLoading: false,
|
||||
tableLoading: false
|
||||
};
|
||||
|
||||
constructor(
|
||||
private fb: FormBuilder,
|
||||
private historyService: HistoryService,
|
||||
private msg: NzMessageService,
|
||||
private cdr: ChangeDetectorRef
|
||||
) { }
|
||||
) {}
|
||||
|
||||
ngOnInit(): void {
|
||||
this.fetch();
|
||||
@@ -93,7 +93,7 @@ export class AuditConnectorComponent implements OnInit {
|
||||
this.fetch();
|
||||
}
|
||||
|
||||
onReset(): void { }
|
||||
onReset(): void {}
|
||||
|
||||
fetch(): void {
|
||||
this.query.submitLoading = true;
|
||||
|
||||
@@ -1,19 +1,18 @@
|
||||
/*
|
||||
* Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
|
||||
*
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
|
||||
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';
|
||||
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
|
||||
@@ -51,26 +50,26 @@ export class AuditLoginAppsComponent implements OnInit {
|
||||
submitLoading: boolean;
|
||||
tableLoading: boolean;
|
||||
} = {
|
||||
params: {
|
||||
username: '',
|
||||
displayName: '',
|
||||
employeeNumber: '',
|
||||
startDate: '',
|
||||
endDate: '',
|
||||
startDatePicker: addDays(new Date(), -30),
|
||||
endDatePicker: new Date(),
|
||||
pageSize: 10,
|
||||
pageNumber: 1,
|
||||
pageSizeOptions: [10, 20, 50]
|
||||
},
|
||||
results: {
|
||||
records: 0,
|
||||
rows: []
|
||||
},
|
||||
expandForm: false,
|
||||
submitLoading: false,
|
||||
tableLoading: false
|
||||
};
|
||||
params: {
|
||||
username: '',
|
||||
displayName: '',
|
||||
employeeNumber: '',
|
||||
startDate: '',
|
||||
endDate: '',
|
||||
startDatePicker: addDays(new Date(), -30),
|
||||
endDatePicker: new Date(),
|
||||
pageSize: 10,
|
||||
pageNumber: 1,
|
||||
pageSizeOptions: [10, 20, 50]
|
||||
},
|
||||
results: {
|
||||
records: 0,
|
||||
rows: []
|
||||
},
|
||||
expandForm: false,
|
||||
submitLoading: false,
|
||||
tableLoading: false
|
||||
};
|
||||
|
||||
constructor(
|
||||
private fb: FormBuilder,
|
||||
@@ -78,7 +77,7 @@ export class AuditLoginAppsComponent implements OnInit {
|
||||
private msg: NzMessageService,
|
||||
private cdr: ChangeDetectorRef,
|
||||
private http: _HttpClient
|
||||
) { }
|
||||
) {}
|
||||
|
||||
ngOnInit(): void {
|
||||
this.fetch();
|
||||
@@ -88,7 +87,7 @@ export class AuditLoginAppsComponent implements OnInit {
|
||||
this.fetch();
|
||||
}
|
||||
|
||||
onReset(): void { }
|
||||
onReset(): void {}
|
||||
|
||||
onQueryParamsChange(tableQueryParams: NzTableQueryParams): void {
|
||||
this.query.params.pageNumber = tableQueryParams.pageIndex;
|
||||
|
||||
@@ -7,8 +7,7 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label nzFor="username">{{ 'mxk.users.username' | i18n }}</nz-form-label>
|
||||
<nz-form-control>
|
||||
<input nz-input [(ngModel)]="query.params.username" [ngModelOptions]="{ standalone: true }" name="username"
|
||||
id="username" />
|
||||
<input nz-input [(ngModel)]="query.params.username" [ngModelOptions]="{ standalone: true }" name="username" id="username" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
@@ -16,8 +15,13 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label nzFor="displayName">{{ 'mxk.users.displayName' | i18n }}</nz-form-label>
|
||||
<nz-form-control>
|
||||
<input nz-input [(ngModel)]="query.params.displayName" [ngModelOptions]="{ standalone: true }"
|
||||
id="displayName" name="displayName" />
|
||||
<input
|
||||
nz-input
|
||||
[(ngModel)]="query.params.displayName"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
id="displayName"
|
||||
name="displayName"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
@@ -25,8 +29,13 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label nzFor="employeeNumber">{{ 'mxk.users.employeeNumber' | i18n }}</nz-form-label>
|
||||
<nz-form-control>
|
||||
<input nz-input [(ngModel)]="query.params.employeeNumber" [ngModelOptions]="{ standalone: true }"
|
||||
id="employeeNumber" name="employeeNumber" />
|
||||
<input
|
||||
nz-input
|
||||
[(ngModel)]="query.params.employeeNumber"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
id="employeeNumber"
|
||||
name="employeeNumber"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
@@ -34,8 +43,14 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label nzFor="startDatePicker">{{ 'mxk.text.startDate' | i18n }}</nz-form-label>
|
||||
<nz-form-control>
|
||||
<nz-date-picker nzShowTime nzFormat="yyyy-MM-dd HH:mm:ss" [(ngModel)]="query.params.startDatePicker"
|
||||
[ngModelOptions]="{ standalone: true }" name="startDatePicker" nzPlaceHolder="startDatePicker">
|
||||
<nz-date-picker
|
||||
nzShowTime
|
||||
nzFormat="yyyy-MM-dd HH:mm:ss"
|
||||
[(ngModel)]="query.params.startDatePicker"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
name="startDatePicker"
|
||||
nzPlaceHolder="startDatePicker"
|
||||
>
|
||||
</nz-date-picker>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
@@ -44,29 +59,45 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label nzFor="endDatePicker">{{ 'mxk.text.endDate' | i18n }}</nz-form-label>
|
||||
<nz-form-control>
|
||||
<nz-date-picker nzShowTime nzFormat="yyyy-MM-dd HH:mm:ss" [(ngModel)]="query.params.endDatePicker"
|
||||
[ngModelOptions]="{ standalone: true }" name="endDatePicker" nzPlaceHolder="endDatePicker">
|
||||
<nz-date-picker
|
||||
nzShowTime
|
||||
nzFormat="yyyy-MM-dd HH:mm:ss"
|
||||
[(ngModel)]="query.params.endDatePicker"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
name="endDatePicker"
|
||||
nzPlaceHolder="endDatePicker"
|
||||
>
|
||||
</nz-date-picker>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
|
||||
<div nz-col [nzSpan]="query.expandForm ? 24 : 8" [class.text-right]="query.expandForm">
|
||||
<button nz-button type="submit" [nzType]="'primary'" [nzLoading]="query.submitLoading">{{ 'mxk.text.query' |
|
||||
i18n }}</button>
|
||||
<button nz-button type="submit" [nzType]="'primary'" [nzLoading]="query.submitLoading">{{ 'mxk.text.query' | i18n }}</button>
|
||||
<button nz-button type="reset" (click)="onReset()" class="mx-sm">{{ 'mxk.text.reset' | i18n }}</button>
|
||||
<button nz-button (click)="query.expandForm = !query.expandForm" class="mx-sm">
|
||||
{{ query.expandForm ? ('mxk.text.collapse' | i18n) : ('mxk.text.expand' | i18n) }}</button>
|
||||
{{ query.expandForm ? ('mxk.text.collapse' | i18n) : ('mxk.text.expand' | i18n) }}</button
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</nz-card>
|
||||
<nz-card>
|
||||
<nz-table #dynamicTable nzTableLayout="auto" nzSize="small" nzShowSizeChanger [nzBordered]="true"
|
||||
[nzData]="query.results.rows" [nzFrontPagination]="false" [nzTotal]="query.results.records"
|
||||
[nzPageSizeOptions]="query.params.pageSizeOptions" [nzPageSize]="query.params.pageSize"
|
||||
[nzPageIndex]="query.params.pageNumber" [nzLoading]="this.query.tableLoading"
|
||||
(nzQueryParams)="onQueryParamsChange($event)">
|
||||
<nz-table
|
||||
#dynamicTable
|
||||
nzTableLayout="auto"
|
||||
nzSize="small"
|
||||
nzShowSizeChanger
|
||||
[nzBordered]="true"
|
||||
[nzData]="query.results.rows"
|
||||
[nzFrontPagination]="false"
|
||||
[nzTotal]="query.results.records"
|
||||
[nzPageSizeOptions]="query.params.pageSizeOptions"
|
||||
[nzPageSize]="query.params.pageSize"
|
||||
[nzPageIndex]="query.params.pageNumber"
|
||||
[nzLoading]="this.query.tableLoading"
|
||||
(nzQueryParams)="onQueryParamsChange($event)"
|
||||
>
|
||||
<thead>
|
||||
<tr>
|
||||
<th nzAlign="center">{{ 'mxk.history.login.sessionId' | i18n }}</th>
|
||||
@@ -98,4 +129,4 @@
|
||||
</tr>
|
||||
</tbody>
|
||||
</nz-table>
|
||||
</nz-card>
|
||||
</nz-card>
|
||||
|
||||
@@ -1,19 +1,18 @@
|
||||
/*
|
||||
* Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
|
||||
*
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
|
||||
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';
|
||||
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
|
||||
@@ -52,33 +51,33 @@ export class AuditLoginsComponent implements OnInit {
|
||||
submitLoading: boolean;
|
||||
tableLoading: boolean;
|
||||
} = {
|
||||
params: {
|
||||
username: '',
|
||||
displayName: '',
|
||||
employeeNumber: '',
|
||||
startDate: '',
|
||||
endDate: '',
|
||||
startDatePicker: addDays(new Date(), -30),
|
||||
endDatePicker: new Date(),
|
||||
pageSize: 10,
|
||||
pageNumber: 1,
|
||||
pageSizeOptions: [10, 20, 50]
|
||||
},
|
||||
results: {
|
||||
records: 0,
|
||||
rows: []
|
||||
},
|
||||
expandForm: false,
|
||||
submitLoading: false,
|
||||
tableLoading: false
|
||||
};
|
||||
params: {
|
||||
username: '',
|
||||
displayName: '',
|
||||
employeeNumber: '',
|
||||
startDate: '',
|
||||
endDate: '',
|
||||
startDatePicker: addDays(new Date(), -30),
|
||||
endDatePicker: new Date(),
|
||||
pageSize: 10,
|
||||
pageNumber: 1,
|
||||
pageSizeOptions: [10, 20, 50]
|
||||
},
|
||||
results: {
|
||||
records: 0,
|
||||
rows: []
|
||||
},
|
||||
expandForm: false,
|
||||
submitLoading: false,
|
||||
tableLoading: false
|
||||
};
|
||||
|
||||
constructor(
|
||||
private fb: FormBuilder,
|
||||
private historyService: HistoryService,
|
||||
private msg: NzMessageService,
|
||||
private cdr: ChangeDetectorRef
|
||||
) { }
|
||||
) {}
|
||||
|
||||
ngOnInit(): void {
|
||||
this.fetch();
|
||||
@@ -88,7 +87,7 @@ export class AuditLoginsComponent implements OnInit {
|
||||
this.fetch();
|
||||
}
|
||||
|
||||
onReset(): void { }
|
||||
onReset(): void {}
|
||||
|
||||
onQueryParamsChange(tableQueryParams: NzTableQueryParams): void {
|
||||
this.query.params.pageNumber = tableQueryParams.pageIndex;
|
||||
|
||||
@@ -7,8 +7,7 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label nzFor="syncName">{{ 'mxk.history.synchronizer.syncName' | i18n }}</nz-form-label>
|
||||
<nz-form-control>
|
||||
<input nz-input [(ngModel)]="query.params.syncName" [ngModelOptions]="{ standalone: true }" name="syncName"
|
||||
id="syncName" />
|
||||
<input nz-input [(ngModel)]="query.params.syncName" [ngModelOptions]="{ standalone: true }" name="syncName" id="syncName" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
@@ -16,8 +15,13 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label nzFor="objectName">{{ 'mxk.history.synchronizer.objectName' | i18n }}</nz-form-label>
|
||||
<nz-form-control>
|
||||
<input nz-input [(ngModel)]="query.params.objectName" [ngModelOptions]="{ standalone: true }"
|
||||
id="objectName" name="objectName" />
|
||||
<input
|
||||
nz-input
|
||||
[(ngModel)]="query.params.objectName"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
id="objectName"
|
||||
name="objectName"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
@@ -25,8 +29,13 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label nzFor="employeeNumber">{{ 'mxk.users.employeeNumber' | i18n }}</nz-form-label>
|
||||
<nz-form-control>
|
||||
<input nz-input [(ngModel)]="query.params.employeeNumber" [ngModelOptions]="{ standalone: true }"
|
||||
id="employeeNumber" name="employeeNumber" />
|
||||
<input
|
||||
nz-input
|
||||
[(ngModel)]="query.params.employeeNumber"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
id="employeeNumber"
|
||||
name="employeeNumber"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
@@ -34,8 +43,14 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label nzFor="startDatePicker">{{ 'mxk.text.startDate' | i18n }}</nz-form-label>
|
||||
<nz-form-control>
|
||||
<nz-date-picker nzShowTime nzFormat="yyyy-MM-dd HH:mm:ss" [(ngModel)]="query.params.startDatePicker"
|
||||
[ngModelOptions]="{ standalone: true }" name="startDatePicker" nzPlaceHolder="startDatePicker">
|
||||
<nz-date-picker
|
||||
nzShowTime
|
||||
nzFormat="yyyy-MM-dd HH:mm:ss"
|
||||
[(ngModel)]="query.params.startDatePicker"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
name="startDatePicker"
|
||||
nzPlaceHolder="startDatePicker"
|
||||
>
|
||||
</nz-date-picker>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
@@ -44,29 +59,45 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label nzFor="endDatePicker">{{ 'mxk.text.endDate' | i18n }}</nz-form-label>
|
||||
<nz-form-control>
|
||||
<nz-date-picker nzShowTime nzFormat="yyyy-MM-dd HH:mm:ss" [(ngModel)]="query.params.endDatePicker"
|
||||
[ngModelOptions]="{ standalone: true }" name="endDatePicker" nzPlaceHolder="endDatePicker">
|
||||
<nz-date-picker
|
||||
nzShowTime
|
||||
nzFormat="yyyy-MM-dd HH:mm:ss"
|
||||
[(ngModel)]="query.params.endDatePicker"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
name="endDatePicker"
|
||||
nzPlaceHolder="endDatePicker"
|
||||
>
|
||||
</nz-date-picker>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
|
||||
<div nz-col [nzSpan]="query.expandForm ? 24 : 8" [class.text-right]="query.expandForm">
|
||||
<button nz-button type="submit" [nzType]="'primary'" [nzLoading]="query.submitLoading">{{ 'mxk.text.query' |
|
||||
i18n }}</button>
|
||||
<button nz-button type="submit" [nzType]="'primary'" [nzLoading]="query.submitLoading">{{ 'mxk.text.query' | i18n }}</button>
|
||||
<button nz-button type="reset" (click)="onReset()" class="mx-sm">{{ 'mxk.text.reset' | i18n }}</button>
|
||||
<button nz-button (click)="query.expandForm = !query.expandForm" class="mx-sm">
|
||||
{{ query.expandForm ? ('mxk.text.collapse' | i18n) : ('mxk.text.expand' | i18n) }}</button>
|
||||
{{ query.expandForm ? ('mxk.text.collapse' | i18n) : ('mxk.text.expand' | i18n) }}</button
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</nz-card>
|
||||
<nz-card>
|
||||
<nz-table #dynamicTable nzTableLayout="auto" nzSize="small" nzShowSizeChanger [nzBordered]="true"
|
||||
[nzData]="query.results.rows" [nzFrontPagination]="false" [nzTotal]="query.results.records"
|
||||
[nzPageSizeOptions]="query.params.pageSizeOptions" [nzPageSize]="query.params.pageSize"
|
||||
[nzPageIndex]="query.params.pageNumber" [nzLoading]="this.query.tableLoading"
|
||||
(nzQueryParams)="onQueryParamsChange($event)">
|
||||
<nz-table
|
||||
#dynamicTable
|
||||
nzTableLayout="auto"
|
||||
nzSize="small"
|
||||
nzShowSizeChanger
|
||||
[nzBordered]="true"
|
||||
[nzData]="query.results.rows"
|
||||
[nzFrontPagination]="false"
|
||||
[nzTotal]="query.results.records"
|
||||
[nzPageSizeOptions]="query.params.pageSizeOptions"
|
||||
[nzPageSize]="query.params.pageSize"
|
||||
[nzPageIndex]="query.params.pageNumber"
|
||||
[nzLoading]="this.query.tableLoading"
|
||||
(nzQueryParams)="onQueryParamsChange($event)"
|
||||
>
|
||||
<thead>
|
||||
<tr>
|
||||
<th nzAlign="center">{{ 'mxk.history.synchronizer.syncId' | i18n }}</th>
|
||||
@@ -92,4 +123,4 @@
|
||||
</tr>
|
||||
</tbody>
|
||||
</nz-table>
|
||||
</nz-card>
|
||||
</nz-card>
|
||||
|
||||
@@ -51,33 +51,33 @@ export class AuditSynchronizerComponent implements OnInit {
|
||||
submitLoading: boolean;
|
||||
tableLoading: boolean;
|
||||
} = {
|
||||
params: {
|
||||
syncName: '',
|
||||
objectName: '',
|
||||
employeeNumber: '',
|
||||
startDate: '',
|
||||
endDate: '',
|
||||
startDatePicker: addDays(new Date(), -30),
|
||||
endDatePicker: new Date(),
|
||||
pageSize: 10,
|
||||
pageNumber: 1,
|
||||
pageSizeOptions: [10, 20, 50]
|
||||
},
|
||||
results: {
|
||||
records: 0,
|
||||
rows: []
|
||||
},
|
||||
expandForm: false,
|
||||
submitLoading: false,
|
||||
tableLoading: false
|
||||
};
|
||||
params: {
|
||||
syncName: '',
|
||||
objectName: '',
|
||||
employeeNumber: '',
|
||||
startDate: '',
|
||||
endDate: '',
|
||||
startDatePicker: addDays(new Date(), -30),
|
||||
endDatePicker: new Date(),
|
||||
pageSize: 10,
|
||||
pageNumber: 1,
|
||||
pageSizeOptions: [10, 20, 50]
|
||||
},
|
||||
results: {
|
||||
records: 0,
|
||||
rows: []
|
||||
},
|
||||
expandForm: false,
|
||||
submitLoading: false,
|
||||
tableLoading: false
|
||||
};
|
||||
|
||||
constructor(
|
||||
private fb: FormBuilder,
|
||||
private historyService: HistoryService,
|
||||
private msg: NzMessageService,
|
||||
private cdr: ChangeDetectorRef
|
||||
) { }
|
||||
) {}
|
||||
|
||||
ngOnInit(): void {
|
||||
this.fetch();
|
||||
@@ -93,7 +93,7 @@ export class AuditSynchronizerComponent implements OnInit {
|
||||
this.fetch();
|
||||
}
|
||||
|
||||
onReset(): void { }
|
||||
onReset(): void {}
|
||||
|
||||
fetch(): void {
|
||||
this.query.submitLoading = true;
|
||||
|
||||
@@ -7,8 +7,7 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label nzFor="username">{{ 'mxk.users.username' | i18n }}</nz-form-label>
|
||||
<nz-form-control>
|
||||
<input nz-input [(ngModel)]="query.params.username" [ngModelOptions]="{ standalone: true }" name="username"
|
||||
id="username" />
|
||||
<input nz-input [(ngModel)]="query.params.username" [ngModelOptions]="{ standalone: true }" name="username" id="username" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
@@ -16,8 +15,13 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label nzFor="displayName">{{ 'mxk.users.displayName' | i18n }}</nz-form-label>
|
||||
<nz-form-control>
|
||||
<input nz-input [(ngModel)]="query.params.displayName" [ngModelOptions]="{ standalone: true }"
|
||||
id="displayName" name="displayName" />
|
||||
<input
|
||||
nz-input
|
||||
[(ngModel)]="query.params.displayName"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
id="displayName"
|
||||
name="displayName"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
@@ -25,8 +29,13 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label nzFor="employeeNumber">{{ 'mxk.users.employeeNumber' | i18n }}</nz-form-label>
|
||||
<nz-form-control>
|
||||
<input nz-input [(ngModel)]="query.params.employeeNumber" [ngModelOptions]="{ standalone: true }"
|
||||
id="employeeNumber" name="employeeNumber" />
|
||||
<input
|
||||
nz-input
|
||||
[(ngModel)]="query.params.employeeNumber"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
id="employeeNumber"
|
||||
name="employeeNumber"
|
||||
/>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
@@ -34,8 +43,14 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label nzFor="startDatePicker">{{ 'mxk.text.startDate' | i18n }}</nz-form-label>
|
||||
<nz-form-control>
|
||||
<nz-date-picker nzShowTime nzFormat="yyyy-MM-dd HH:mm:ss" [(ngModel)]="query.params.startDatePicker"
|
||||
[ngModelOptions]="{ standalone: true }" name="startDatePicker" nzPlaceHolder="startDatePicker">
|
||||
<nz-date-picker
|
||||
nzShowTime
|
||||
nzFormat="yyyy-MM-dd HH:mm:ss"
|
||||
[(ngModel)]="query.params.startDatePicker"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
name="startDatePicker"
|
||||
nzPlaceHolder="startDatePicker"
|
||||
>
|
||||
</nz-date-picker>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
@@ -44,29 +59,45 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label nzFor="endDatePicker">{{ 'mxk.text.endDate' | i18n }}</nz-form-label>
|
||||
<nz-form-control>
|
||||
<nz-date-picker nzShowTime nzFormat="yyyy-MM-dd HH:mm:ss" [(ngModel)]="query.params.endDatePicker"
|
||||
[ngModelOptions]="{ standalone: true }" name="endDatePicker" nzPlaceHolder="endDatePicker">
|
||||
<nz-date-picker
|
||||
nzShowTime
|
||||
nzFormat="yyyy-MM-dd HH:mm:ss"
|
||||
[(ngModel)]="query.params.endDatePicker"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
name="endDatePicker"
|
||||
nzPlaceHolder="endDatePicker"
|
||||
>
|
||||
</nz-date-picker>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
|
||||
<div nz-col [nzSpan]="query.expandForm ? 24 : 8" [class.text-right]="query.expandForm">
|
||||
<button nz-button type="submit" [nzType]="'primary'" [nzLoading]="query.submitLoading">{{ 'mxk.text.query' |
|
||||
i18n }}</button>
|
||||
<button nz-button type="submit" [nzType]="'primary'" [nzLoading]="query.submitLoading">{{ 'mxk.text.query' | i18n }}</button>
|
||||
<button nz-button type="reset" (click)="onReset()" class="mx-sm">{{ 'mxk.text.reset' | i18n }}</button>
|
||||
<button nz-button (click)="query.expandForm = !query.expandForm" class="mx-sm">
|
||||
{{ query.expandForm ? ('mxk.text.collapse' | i18n) : ('mxk.text.expand' | i18n) }}</button>
|
||||
{{ query.expandForm ? ('mxk.text.collapse' | i18n) : ('mxk.text.expand' | i18n) }}</button
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</nz-card>
|
||||
<nz-card>
|
||||
<nz-table #dynamicTable nzTableLayout="auto" nzSize="small" nzShowSizeChanger [nzBordered]="true"
|
||||
[nzData]="query.results.rows" [nzFrontPagination]="false" [nzTotal]="query.results.records"
|
||||
[nzPageSizeOptions]="query.params.pageSizeOptions" [nzPageSize]="query.params.pageSize"
|
||||
[nzPageIndex]="query.params.pageNumber" [nzLoading]="this.query.tableLoading"
|
||||
(nzQueryParams)="onQueryParamsChange($event)">
|
||||
<nz-table
|
||||
#dynamicTable
|
||||
nzTableLayout="auto"
|
||||
nzSize="small"
|
||||
nzShowSizeChanger
|
||||
[nzBordered]="true"
|
||||
[nzData]="query.results.rows"
|
||||
[nzFrontPagination]="false"
|
||||
[nzTotal]="query.results.records"
|
||||
[nzPageSizeOptions]="query.params.pageSizeOptions"
|
||||
[nzPageSize]="query.params.pageSize"
|
||||
[nzPageIndex]="query.params.pageNumber"
|
||||
[nzLoading]="this.query.tableLoading"
|
||||
(nzQueryParams)="onQueryParamsChange($event)"
|
||||
>
|
||||
<thead>
|
||||
<tr>
|
||||
<th nzAlign="center" style="display: none">{{ 'mxk.history.systemlogs.id' | i18n }}</th>
|
||||
@@ -92,4 +123,4 @@
|
||||
</tr>
|
||||
</tbody>
|
||||
</nz-table>
|
||||
</nz-card>
|
||||
</nz-card>
|
||||
|
||||
@@ -1,19 +1,18 @@
|
||||
/*
|
||||
* Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
|
||||
*
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
|
||||
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';
|
||||
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
|
||||
@@ -52,33 +51,33 @@ export class AuditSystemLogsComponent implements OnInit {
|
||||
submitLoading: boolean;
|
||||
tableLoading: boolean;
|
||||
} = {
|
||||
params: {
|
||||
username: '',
|
||||
displayName: '',
|
||||
employeeNumber: '',
|
||||
startDate: '',
|
||||
endDate: '',
|
||||
startDatePicker: addDays(new Date(), -30),
|
||||
endDatePicker: new Date(),
|
||||
pageSize: 10,
|
||||
pageNumber: 1,
|
||||
pageSizeOptions: [10, 20, 50]
|
||||
},
|
||||
results: {
|
||||
records: 0,
|
||||
rows: []
|
||||
},
|
||||
expandForm: false,
|
||||
submitLoading: false,
|
||||
tableLoading: false
|
||||
};
|
||||
params: {
|
||||
username: '',
|
||||
displayName: '',
|
||||
employeeNumber: '',
|
||||
startDate: '',
|
||||
endDate: '',
|
||||
startDatePicker: addDays(new Date(), -30),
|
||||
endDatePicker: new Date(),
|
||||
pageSize: 10,
|
||||
pageNumber: 1,
|
||||
pageSizeOptions: [10, 20, 50]
|
||||
},
|
||||
results: {
|
||||
records: 0,
|
||||
rows: []
|
||||
},
|
||||
expandForm: false,
|
||||
submitLoading: false,
|
||||
tableLoading: false
|
||||
};
|
||||
|
||||
constructor(
|
||||
private fb: FormBuilder,
|
||||
private historyService: HistoryService,
|
||||
private msg: NzMessageService,
|
||||
private cdr: ChangeDetectorRef
|
||||
) { }
|
||||
) {}
|
||||
|
||||
ngOnInit(): void {
|
||||
this.fetch();
|
||||
@@ -88,7 +87,7 @@ export class AuditSystemLogsComponent implements OnInit {
|
||||
this.fetch();
|
||||
}
|
||||
|
||||
onReset(): void { }
|
||||
onReset(): void {}
|
||||
|
||||
onQueryParamsChange(tableQueryParams: NzTableQueryParams): void {
|
||||
this.query.params.pageNumber = tableQueryParams.pageIndex;
|
||||
|
||||
@@ -1,19 +1,18 @@
|
||||
/*
|
||||
* Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
|
||||
*
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { NgModule } from '@angular/core';
|
||||
|
||||
@@ -4,35 +4,37 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzMd]="6" nzFor="id">{{ 'mxk.text.id' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzMd]="18" nzErrorTip="The input is not valid id!">
|
||||
<input [(ngModel)]="form.model.id" disabled="{{ isEdit }}" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="id" id="id" />
|
||||
<input [(ngModel)]="form.model.id" disabled="{{ isEdit }}" [ngModelOptions]="{ standalone: true }" nz-input name="id" id="id" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="name">{{ 'mxk.accountsstrategy.name' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="name">{{ 'mxk.accountsstrategy.name' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not validminLength!">
|
||||
<input [(ngModel)]="form.model.name" [ngModelOptions]="{ standalone: true }" nz-input name="name" id="name" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="appName">{{ 'mxk.accountsstrategy.appName' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="appName">{{ 'mxk.accountsstrategy.appName' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid appName!">
|
||||
<nz-input-group nzSearch [nzAddOnAfter]="suffixButton">
|
||||
<input [(ngModel)]="form.model.appName" [ngModelOptions]="{ standalone: true }" readonly type="text" nz-input
|
||||
name="appName" id="appName" />
|
||||
<input
|
||||
[(ngModel)]="form.model.appName"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
readonly
|
||||
type="text"
|
||||
nz-input
|
||||
name="appName"
|
||||
id="appName"
|
||||
/>
|
||||
</nz-input-group>
|
||||
<ng-template #suffixButton>
|
||||
<button nz-button nzType="primary" nzSearch (click)="onSelect($event)">{{ 'mxk.text.select' | i18n }}</button>
|
||||
</ng-template>
|
||||
<input type="hidden" [(ngModel)]="form.model.appId" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="appId" id="appId" />
|
||||
<input type="hidden" [(ngModel)]="form.model.appId" [ngModelOptions]="{ standalone: true }" nz-input name="appId" id="appId" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="mapping">{{ 'mxk.accountsstrategy.mapping' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="mapping">{{ 'mxk.accountsstrategy.mapping' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid mapping!">
|
||||
<nz-select [(ngModel)]="form.model.mapping" [ngModelOptions]="{ standalone: true }">
|
||||
<nz-option nzValue="username" nzLabel="username"></nz-option>
|
||||
@@ -45,39 +47,54 @@
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="suffixes">{{ 'mxk.accountsstrategy.suffixes' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="suffixes">{{ 'mxk.accountsstrategy.suffixes' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid suffixes!">
|
||||
<input [(ngModel)]="form.model.suffixes" [ngModelOptions]="{ standalone: true }" nz-input name="suffixes"
|
||||
id="suffixes" />
|
||||
<input [(ngModel)]="form.model.suffixes" [ngModelOptions]="{ standalone: true }" nz-input name="suffixes" id="suffixes" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="orgIdsList">{{ 'mxk.accountsstrategy.orgIdsList' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="orgIdsList">{{ 'mxk.accountsstrategy.orgIdsList' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="18" [nzXs]="24" nzErrorTip="The input is not valid upperCase!">
|
||||
<input type="hidden" [(ngModel)]="form.model.orgIdsList" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="orgIdsList" id="orgIdsList" />
|
||||
<nz-tree-select nzVirtualHeight="300px" [nzMaxTagCount]="3" [(ngModel)]="selectValues"
|
||||
[ngModelOptions]="{ standalone: true }" [nzNodes]="treeNodes.nodes" nzCheckable nzPlaceHolder="Please select"
|
||||
[nzCheckStrictly]="true">
|
||||
<input
|
||||
type="hidden"
|
||||
[(ngModel)]="form.model.orgIdsList"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="orgIdsList"
|
||||
id="orgIdsList"
|
||||
/>
|
||||
<nz-tree-select
|
||||
nzVirtualHeight="300px"
|
||||
[nzMaxTagCount]="3"
|
||||
[(ngModel)]="selectValues"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
[nzNodes]="treeNodes.nodes"
|
||||
nzCheckable
|
||||
nzPlaceHolder="Please select"
|
||||
[nzCheckStrictly]="true"
|
||||
>
|
||||
</nz-tree-select>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="filters">{{ 'mxk.accountsstrategy.filters' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="18" [nzXs]="24" nzErrorTip="The input is not valid filters!">
|
||||
<textarea rows="4" nz-input [(ngModel)]="form.model.filters" [ngModelOptions]="{ standalone: true }" nz-input
|
||||
name="filters" id="filters"></textarea>
|
||||
<textarea
|
||||
rows="4"
|
||||
nz-input
|
||||
[(ngModel)]="form.model.filters"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="filters"
|
||||
id="filters"
|
||||
></textarea>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="createType">{{ 'mxk.accountsstrategy.createType' | i18n }}
|
||||
</nz-form-label>
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="createType">{{ 'mxk.accountsstrategy.createType' | i18n }} </nz-form-label>
|
||||
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid createType!">
|
||||
<nz-radio-group [(ngModel)]="form.model.createType" [ngModelOptions]="{ standalone: true }"
|
||||
nzButtonStyle="solid">
|
||||
<nz-radio-group [(ngModel)]="form.model.createType" [ngModelOptions]="{ standalone: true }" nzButtonStyle="solid">
|
||||
<label nz-radio-button nzValue="manual">{{ 'mxk.text.manual' | i18n }}</label>
|
||||
<label nz-radio-button nzValue="automatic">{{ 'mxk.text.automatic' | i18n }}</label>
|
||||
</nz-radio-group>
|
||||
@@ -86,15 +103,27 @@
|
||||
<nz-form-item style="display: none">
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="description">{{ 'mxk.text.description' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="18" [nzXs]="24" nzErrorTip="The input is not valid encoding!">
|
||||
<textarea rows="4" nz-input [(ngModel)]="form.model.description" [ngModelOptions]="{ standalone: true }"
|
||||
nz-input name="description" id="description"></textarea>
|
||||
<textarea
|
||||
rows="4"
|
||||
nz-input
|
||||
[(ngModel)]="form.model.description"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
nz-input
|
||||
name="description"
|
||||
id="description"
|
||||
></textarea>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="status">{{ 'mxk.text.status' | i18n }}</nz-form-label>
|
||||
<nz-form-control [nzSm]="14" [nzXs]="24" nzErrorTip="The input is not valid status!">
|
||||
<nz-switch [(ngModel)]="form.model.switch_status" [ngModelOptions]="{ standalone: true }" name="status"
|
||||
[nzCheckedChildren]="checkedTemplate" [nzUnCheckedChildren]="unCheckedTemplate"></nz-switch>
|
||||
<nz-switch
|
||||
[(ngModel)]="form.model.switch_status"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
name="status"
|
||||
[nzCheckedChildren]="checkedTemplate"
|
||||
[nzUnCheckedChildren]="unCheckedTemplate"
|
||||
></nz-switch>
|
||||
<ng-template #checkedTemplate><i nz-icon nzType="check"></i></ng-template>
|
||||
<ng-template #unCheckedTemplate><i nz-icon nzType="close"></i></ng-template>
|
||||
</nz-form-control>
|
||||
@@ -105,4 +134,4 @@
|
||||
<div *nzModalFooter>
|
||||
<button nz-button nzType="default" (click)="onClose($event)">{{ 'mxk.text.close' | i18n }}</button>
|
||||
<button nz-button nzType="primary" (click)="onSubmit($event)">{{ 'mxk.text.submit' | i18n }}</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -48,9 +48,9 @@ export class AccountsStrategyEditerComponent implements OnInit {
|
||||
submitting: boolean;
|
||||
model: AccountsStrategy;
|
||||
} = {
|
||||
submitting: false,
|
||||
model: new AccountsStrategy()
|
||||
};
|
||||
submitting: false,
|
||||
model: new AccountsStrategy()
|
||||
};
|
||||
|
||||
formGroup: FormGroup = new FormGroup({});
|
||||
// TreeNodes
|
||||
@@ -68,7 +68,7 @@ export class AccountsStrategyEditerComponent implements OnInit {
|
||||
private msg: NzMessageService,
|
||||
@Inject(ALAIN_I18N_TOKEN) private i18n: I18NService,
|
||||
private cdr: ChangeDetectorRef
|
||||
) { }
|
||||
) {}
|
||||
|
||||
ngOnInit(): void {
|
||||
this.tree();
|
||||
|
||||
@@ -7,19 +7,17 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label nzFor="name">{{ 'mxk.accountsstrategy.name' | i18n }}</nz-form-label>
|
||||
<nz-form-control>
|
||||
<input nz-input [(ngModel)]="query.params.name" [ngModelOptions]="{ standalone: true }" name="name"
|
||||
placeholder="" id="name" />
|
||||
<input nz-input [(ngModel)]="query.params.name" [ngModelOptions]="{ standalone: true }" name="name" placeholder="" id="name" />
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
|
||||
<div nz-col [nzSpan]="query.expandForm ? 24 : 8" [class.text-right]="query.expandForm">
|
||||
<button nz-button type="submit" [nzType]="'primary'" [nzLoading]="query.submitLoading">{{ 'mxk.text.query' |
|
||||
i18n }}</button>
|
||||
<button nz-button type="reset" (click)="onReset()" class="mx-sm" style="display: none">{{ 'mxk.text.reset' |
|
||||
i18n }}</button>
|
||||
<button nz-button type="submit" [nzType]="'primary'" [nzLoading]="query.submitLoading">{{ 'mxk.text.query' | i18n }}</button>
|
||||
<button nz-button type="reset" (click)="onReset()" class="mx-sm" style="display: none">{{ 'mxk.text.reset' | i18n }}</button>
|
||||
<button nz-button (click)="query.expandForm = !query.expandForm" class="mx-sm" style="display: none">
|
||||
{{ query.expandForm ? ('mxk.text.collapse' | i18n) : ('mxk.text.expand' | i18n) }}</button>
|
||||
{{ query.expandForm ? ('mxk.text.collapse' | i18n) : ('mxk.text.expand' | i18n) }}</button
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
@@ -29,48 +27,60 @@
|
||||
<button nz-button type="button" [nzType]="'primary'" (click)="onAdd($event)">{{ 'mxk.text.add' | i18n }}</button>
|
||||
<button nz-button type="button" (click)="onBatchDelete($event)" [nzType]="'primary'" nzDanger class="mx-sm">{{
|
||||
'mxk.text.delete' | i18n
|
||||
}}</button>
|
||||
}}</button>
|
||||
</div>
|
||||
<nz-table #dynamicTable nzTableLayout="auto" nzSize="small" nzBordered nzShowSizeChanger [nzData]="query.results.rows"
|
||||
[nzFrontPagination]="false" [nzTotal]="query.results.records" [nzPageSizeOptions]="query.params.pageSizeOptions"
|
||||
[nzPageSize]="query.params.pageSize" [nzPageIndex]="query.params.pageNumber" [nzLoading]="this.query.tableLoading"
|
||||
(nzQueryParams)="onQueryParamsChange($event)" nzWidth="100%">
|
||||
<nz-table
|
||||
#dynamicTable
|
||||
nzTableLayout="auto"
|
||||
nzSize="small"
|
||||
nzBordered
|
||||
nzShowSizeChanger
|
||||
[nzData]="query.results.rows"
|
||||
[nzFrontPagination]="false"
|
||||
[nzTotal]="query.results.records"
|
||||
[nzPageSizeOptions]="query.params.pageSizeOptions"
|
||||
[nzPageSize]="query.params.pageSize"
|
||||
[nzPageIndex]="query.params.pageNumber"
|
||||
[nzLoading]="this.query.tableLoading"
|
||||
(nzQueryParams)="onQueryParamsChange($event)"
|
||||
nzWidth="100%"
|
||||
>
|
||||
<thead>
|
||||
<tr>
|
||||
<th [nzChecked]="query.checked" [nzIndeterminate]="query.indeterminate"
|
||||
(nzCheckedChange)="onTableAllChecked($event)"></th>
|
||||
<th [nzChecked]="query.checked" [nzIndeterminate]="query.indeterminate" (nzCheckedChange)="onTableAllChecked($event)"></th>
|
||||
<th nzAlign="center" style="display: none">Id</th>
|
||||
<th nzAlign="center">{{ 'mxk.accountsstrategy.name' | i18n }}</th>
|
||||
<th nzAlign="center">{{ 'mxk.accountsstrategy.appIcon' | i18n }}</th>
|
||||
<th nzAlign="center">{{ 'mxk.accountsstrategy.appName' | i18n }}</th>
|
||||
<th nzAlign="center">{{ 'mxk.accountsstrategy.createType' | i18n }}</th>
|
||||
<th nzAlign="center">{{ 'mxk.text.status' | i18n }}</th>
|
||||
<th nzAlign="center"><a>{{ 'mxk.text.action' | i18n }}</a></th>
|
||||
<th nzAlign="center"
|
||||
><a>{{ 'mxk.text.action' | i18n }}</a></th
|
||||
>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr *ngFor="let data of query.results.rows">
|
||||
<td [nzChecked]="query.tableCheckedId.has(data.id)" [nzDisabled]="data.disabled"
|
||||
(nzCheckedChange)="onTableItemChecked(data.id, $event)"></td>
|
||||
<td
|
||||
[nzChecked]="query.tableCheckedId.has(data.id)"
|
||||
[nzDisabled]="data.disabled"
|
||||
(nzCheckedChange)="onTableItemChecked(data.id, $event)"
|
||||
></td>
|
||||
<td nzAlign="left" style="display: none">
|
||||
<span>{{ data.id }}</span>
|
||||
</td>
|
||||
<td nzAlign="left"> {{ data.name }}</td>
|
||||
<td nzAlign="center"><img height="30" border="0px" src="{{ data.appIconBase64 }}" /></td>
|
||||
<td nzAlign="left"> {{ data.appName }}</td>
|
||||
<td nzAlign="center">{{ data.createType == 'manual' ? ('mxk.text.manual' | i18n) : ('mxk.text.manual' | i18n) }}
|
||||
</td>
|
||||
<td nzAlign="center"> <i *ngIf="data.status == 1" nz-icon nzType="check-circle" nzTheme="fill"
|
||||
style="color: green"></i></td>
|
||||
<td nzAlign="center">{{ data.createType == 'manual' ? ('mxk.text.manual' | i18n) : ('mxk.text.manual' | i18n) }} </td>
|
||||
<td nzAlign="center"> <i *ngIf="data.status == 1" nz-icon nzType="check-circle" nzTheme="fill" style="color: green"></i></td>
|
||||
<td nzAlign="left" nzBreakWord="false">
|
||||
<div nz-col>
|
||||
<button nz-button type="button" (click)="onEdit($event, data.id)" style="float: left">{{ 'mxk.text.edit' |
|
||||
i18n }}</button>
|
||||
<button nz-button type="button" (click)="onDelete($event, data.id)" nzDanger>{{ 'mxk.text.delete' | i18n
|
||||
}}</button>
|
||||
<button nz-button type="button" (click)="onEdit($event, data.id)" style="float: left">{{ 'mxk.text.edit' | i18n }}</button>
|
||||
<button nz-button type="button" (click)="onDelete($event, data.id)" nzDanger>{{ 'mxk.text.delete' | i18n }}</button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</nz-table>
|
||||
</nz-card>
|
||||
</nz-card>
|
||||
|
||||
@@ -58,29 +58,29 @@ export class AccountsStrategyComponent implements OnInit {
|
||||
indeterminate: boolean;
|
||||
checked: boolean;
|
||||
} = {
|
||||
params: {
|
||||
name: '',
|
||||
displayName: '',
|
||||
protocol: '',
|
||||
startDate: '',
|
||||
endDate: '',
|
||||
startDatePicker: addDays(new Date(), -30),
|
||||
endDatePicker: new Date(),
|
||||
pageSize: 10,
|
||||
pageNumber: 1,
|
||||
pageSizeOptions: [10, 20, 50]
|
||||
},
|
||||
results: {
|
||||
records: 0,
|
||||
rows: []
|
||||
},
|
||||
expandForm: false,
|
||||
submitLoading: false,
|
||||
tableLoading: false,
|
||||
tableCheckedId: new Set<String>(),
|
||||
indeterminate: false,
|
||||
checked: false
|
||||
};
|
||||
params: {
|
||||
name: '',
|
||||
displayName: '',
|
||||
protocol: '',
|
||||
startDate: '',
|
||||
endDate: '',
|
||||
startDatePicker: addDays(new Date(), -30),
|
||||
endDatePicker: new Date(),
|
||||
pageSize: 10,
|
||||
pageNumber: 1,
|
||||
pageSizeOptions: [10, 20, 50]
|
||||
},
|
||||
results: {
|
||||
records: 0,
|
||||
rows: []
|
||||
},
|
||||
expandForm: false,
|
||||
submitLoading: false,
|
||||
tableLoading: false,
|
||||
tableCheckedId: new Set<String>(),
|
||||
indeterminate: false,
|
||||
checked: false
|
||||
};
|
||||
|
||||
constructor(
|
||||
private modalService: NzModalService,
|
||||
@@ -90,7 +90,7 @@ export class AccountsStrategyComponent implements OnInit {
|
||||
private msg: NzMessageService,
|
||||
@Inject(ALAIN_I18N_TOKEN) private i18n: I18NService,
|
||||
private cdr: ChangeDetectorRef
|
||||
) { }
|
||||
) {}
|
||||
|
||||
ngOnInit(): void {
|
||||
this.fetch();
|
||||
@@ -106,7 +106,7 @@ export class AccountsStrategyComponent implements OnInit {
|
||||
this.fetch();
|
||||
}
|
||||
|
||||
onReset(): void { }
|
||||
onReset(): void {}
|
||||
|
||||
onBatchDelete(e: MouseEvent): void {
|
||||
e.preventDefault();
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user