Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
N
nobu-web-v2
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ari_darmawan
nobu-web-v2
Commits
7592cda5
Commit
7592cda5
authored
Sep 08, 2023
by
ari_darmawan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add team & change component dropdown search
parent
4abfb1fb
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
339 additions
and
85 deletions
+339
-85
angular.json
angular.json
+8
-2
admin-ticket-onpic-detail.component.html
...ket-onpic-detail/admin-ticket-onpic-detail.component.html
+73
-12
admin-ticket-onpic-detail.component.ts
...icket-onpic-detail/admin-ticket-onpic-detail.component.ts
+25
-14
admin-ticket-create.component.html
...et/admin-ticket-create/admin-ticket-create.component.html
+46
-8
admin-ticket-create.component.ts
...cket/admin-ticket-create/admin-ticket-create.component.ts
+13
-7
admin-ticket-detail.component.html
...et/admin-ticket-detail/admin-ticket-detail.component.html
+72
-14
admin-ticket-detail.component.ts
...cket/admin-ticket-detail/admin-ticket-detail.component.ts
+26
-16
admin.module.ts
src/app/admin/admin.module.ts
+5
-2
app.module.ts
src/app/app.module.ts
+4
-2
environment.prod.ts
src/environments/environment.prod.ts
+6
-1
environment.ts
src/environments/environment.ts
+6
-1
yarn.lock
yarn.lock
+55
-6
No files found.
angular.json
View file @
7592cda5
...
...
@@ -20,7 +20,12 @@
"tsConfig"
:
"src/tsconfig.app.json"
,
"assets"
:
[
"src/favicon.ico"
,
"src/assets"
"src/assets"
,
{
"glob"
:
"**/*"
,
"input"
:
"./node_modules/@ant-design/icons-angular/src/inline-svg/"
,
"output"
:
"/assets/"
}
],
"styles"
:
[
"src/styles.css"
,
...
...
@@ -29,7 +34,8 @@
"./src/assets/MainStyle/fontawesome-free-5.11.2-web/css/all.min.css"
,
"./src/assets/MainStyle/bootstrap-tagsinput.css"
,
"./src/assets/MainStyle/DTPICKER-tempusdominus-bootstrap-4.min.css"
,
"./src/assets/MainStyle/Switch.css"
"./src/assets/MainStyle/Switch.css"
,
"node_modules/ng-zorro-antd/ng-zorro-antd.min.css"
],
"scripts"
:
[
"./node_modules/jquery/dist/jquery.min.js"
,
...
...
src/app/admin/admin-ticket-onpic/admin-ticket-onpic-detail/admin-ticket-onpic-detail.component.html
View file @
7592cda5
...
...
@@ -33,7 +33,18 @@
</p>
<div
class=
"form-group"
>
<label
class=
"text-muted"
>
Assignee Team
<span
class=
"text-danger"
>
*
</span></label>
<select
type=
"text"
<nz-select
style=
"width: 100%;"
[(
ngModel
)]="
AssigneeTeam_ID
"
nzPlaceHolder=
"Select Team"
[
disabled
]="
IsFormTeamDisabled
"
nzAllowClear
nzShowSearch
(
ngModelChange
)="
AssigneeTeamChange
()"
>
<nz-option
*
ngFor=
"let o of AssigneeTeamData"
[
nzValue
]="
o
.
ID
"
[
nzLabel
]="
o
.
Name
"
></nz-option>
</nz-select>
<!-- <select type="text"
#inputRequired
class="form-control form-control-sm select-style"
[(ngModel)]="AssigneeTeam_ID"
...
...
@@ -42,11 +53,21 @@
<ng-container *ngFor="let AssigneeTeam of AssigneeTeamData; let i = index">
<option value="{{AssigneeTeam.ID}}">{{AssigneeTeam.Name}}</option>
</ng-container>
</select>
</select>
-->
</div>
<div
class=
"form-group"
>
<label
class=
"text-muted"
>
Assignee Agent
<span
class=
"text-danger"
>
*
</span></label>
<div
[
ngClass
]="{'
arataka-custom-autocomplete
'
:
search
.
isAgent
}"
*
ngIf=
"search.isAgent"
>
<nz-select
style=
"width: 100%;"
[(
ngModel
)]="
AssigneeTeamAgent_ID
"
nzPlaceHolder=
"Select Agent"
[
disabled
]="
IsFormTeamAgentDisabled
"
nzAllowClear
nzShowSearch
>
<nz-option
*
ngFor=
"let o of AssigneeTeamAgentData"
[
nzValue
]="
o
.
ID
"
[
nzLabel
]="
o
.
Name
"
></nz-option>
</nz-select>
<!-- <div [ngClass]="{'arataka-custom-autocomplete': search.isAgent}" *ngIf="search.isAgent">
<input type="text" class="form-control form-control-sm" [(ngModel)]="AssigneeTeamAgent_Name"
placeholder="All Agent : Type to search" (blur)="onBlur()"
(keyup)="onSeacrhSelectAgent($event)"/>
...
...
@@ -67,7 +88,7 @@
<ng-container *ngFor="let AssigneeTeamAgent of AssigneeTeamAgentData; let i = index">
<option value="{{AssigneeTeamAgent.ID}}">{{AssigneeTeamAgent.Name}}</option>
</ng-container>
</select>
</select>
-->
</div>
<div
class=
"row"
*
ngIf=
"IsFormTeamDisabled == false && IsFormTeamAgentDisabled == false"
>
<div
class=
"col-6"
>
...
...
@@ -103,7 +124,18 @@
</div>
<div
class=
"form-group"
>
<label
class=
"text-muted"
>
Sub Topic
<span
class=
"text-danger"
>
*
</span></label>
<div
[
ngClass
]="{'
arataka-custom-autocomplete
'
:
search
.
isSubTopic
}"
*
ngIf=
"search.isSubTopic"
>
<nz-select
style=
"width: 100%;"
[(
ngModel
)]="
SubTopic_ID
"
nzPlaceHolder=
"Select Sub Topic"
nzAllowClear
nzShowSearch
(
ngModelChange
)="
SubTopicChange
()"
[
disabled
]="
IsFormSubTopicDisabled
"
>
<nz-option
*
ngFor=
"let o of SubTopicData"
[
nzValue
]="
o
.
ID
"
[
nzLabel
]="
o
.
Name
"
></nz-option>
</nz-select>
<!-- <div [ngClass]="{'arataka-custom-autocomplete': search.isSubTopic}" *ngIf="search.isSubTopic">
<input type="text" class="form-control form-control-sm" [(ngModel)]="SubTopic_Name"
placeholder="All Sub Topic : Type to search" (blur)="onBlur()"
(keyup)="onSeacrhSelectSubTopic($event)"/>
...
...
@@ -125,11 +157,21 @@
<ng-container *ngFor="let SubTopic of SubTopicData; let i = index">
<option value="{{SubTopic.ID}}">{{SubTopic.Name}}</option>
</ng-container>
</select>
</select>
-->
</div>
<div
class=
"form-group"
>
<label
class=
"text-muted"
>
Category
<span
class=
"text-danger"
>
*
</span></label>
<div
[
ngClass
]="{'
arataka-custom-autocomplete
'
:
search
.
isCategory
}"
*
ngIf=
"search.isCategory"
>
<nz-select
style=
"width: 100%;"
[(
ngModel
)]="
Category_ID
"
nzPlaceHolder=
"Select Category"
nzAllowClear
nzShowSearch
[
disabled
]="
IsFormCategoryDisabled
"
>
<nz-option
*
ngFor=
"let o of CategoryData"
[
nzValue
]="
o
.
ID
"
[
nzLabel
]="
o
.
Name
"
></nz-option>
</nz-select>
<!-- <div [ngClass]="{'arataka-custom-autocomplete': search.isCategory}" *ngIf="search.isCategory">
<input type="text" class="form-control form-control-sm" [(ngModel)]="Category_Name"
placeholder="All Category : Type to search" (blur)="onBlur()"
(keyup)="onSeacrhSelectCategory($event)"/>
...
...
@@ -150,7 +192,7 @@
<ng-container *ngFor="let Category of CategoryData; let i = index">
<option value="{{Category.ID}}">{{Category.Name}}</option>
</ng-container>
</select>
</select>
-->
</div>
<div
class=
"row"
*
ngIf=
"IsFormTopicDisabled == false && IsFormSubTopicDisabled == false && IsFormCategoryDisabled == false"
>
<div
class=
"col-6"
>
...
...
@@ -405,7 +447,17 @@
<div
class=
"col-12"
>
<div
class=
"form-group"
>
<label
class=
"text-muted"
>
Internal Note Assignee Team
</label>
<select
type=
"text"
<nz-select
style=
"width: 100%;"
[(
ngModel
)]="
AssigneeTeamDestionationID
"
nzPlaceHolder=
"Select Team"
nzAllowClear
nzShowSearch
(
ngModelChange
)="
AssigneeTeamDestinationChange
()"
>
<nz-option
*
ngFor=
"let o of AssigneeTeamDestionationData"
[
nzValue
]="
o
.
ID
"
[
nzLabel
]="
o
.
Name
"
></nz-option>
</nz-select>
<!-- <select type="text"
#inputRequired
class="form-control form-control-sm select-style"
[(ngModel)]="AssigneeTeamDestionationID"
...
...
@@ -413,20 +465,29 @@
<ng-container *ngFor="let AssigneeTeam of AssigneeTeamDestionationData; let i = index">
<option value="{{AssigneeTeam.ID}}">{{AssigneeTeam.Name}}</option>
</ng-container>
</select>
</select>
-->
</div>
</div>
<div
class=
"col-12"
>
<div
class=
"form-group"
>
<label
class=
"text-muted"
>
Internal Note Assignee Agent
</label>
<select
type=
"text"
<nz-select
style=
"width: 100%;"
[(
ngModel
)]="
AssigneeTeamAgentDestionationID
"
nzPlaceHolder=
"Select Agent"
nzAllowClear
nzShowSearch
>
<nz-option
*
ngFor=
"let o of AssigneeTeamAgentDestinationData"
[
nzValue
]="
o
.
ID
"
[
nzLabel
]="
o
.
Name
"
></nz-option>
</nz-select>
<!-- <select type="text"
#inputRequired
class="form-control form-control-sm select-style"
[(ngModel)]="AssigneeTeamAgentDestionationID">
<ng-container *ngFor="let AssigneeTeamAgent of AssigneeTeamAgentDestinationData; let i = index">
<option value="{{AssigneeTeamAgent.ID}}">{{AssigneeTeamAgent.Name}}</option>
</ng-container>
</select>
</select>
-->
</div>
</div>
</div>
...
...
src/app/admin/admin-ticket-onpic/admin-ticket-onpic-detail/admin-ticket-onpic-detail.component.ts
View file @
7592cda5
...
...
@@ -398,7 +398,7 @@ export class AdminTicketOnpicDetailComponent implements OnInit {
}
AssigneeTeamChange
(){
if
(
this
.
AssigneeTeam_ID
!=
""
){
if
(
this
.
AssigneeTeam_ID
!=
""
&&
this
.
AssigneeTeam_ID
){
this
.
GettingTeamAgentListAPI
({
ID
:
parseInt
(
this
.
AssigneeTeam_ID
)})
}
else
{
this
.
AssigneeTeamAgentData
=
[{
...
...
@@ -410,7 +410,7 @@ export class AdminTicketOnpicDetailComponent implements OnInit {
}
AssigneeTeamDestinationChange
(){
if
(
this
.
AssigneeTeamDestionationID
!=
""
){
if
(
this
.
AssigneeTeamDestionationID
!=
""
&&
this
.
AssigneeTeamDestionationID
){
this
.
GettingTeamAgentForDestinationListAPI
({
ID
:
parseInt
(
this
.
AssigneeTeamDestionationID
)})
}
else
{
this
.
AssigneeTeamAgentDestinationData
=
[{
...
...
@@ -440,7 +440,7 @@ export class AdminTicketOnpicDetailComponent implements OnInit {
}
SubTopicChange
(){
if
(
this
.
SubTopic_ID
!=
""
){
if
(
this
.
SubTopic_ID
!=
""
&&
this
.
SubTopic_ID
){
this
.
GettingCategoryListAPI
({
ID
:
parseInt
(
this
.
SubTopic_ID
)})
}
else
{
this
.
CategoryData
=
[{
...
...
@@ -950,7 +950,13 @@ export class AdminTicketOnpicDetailComponent implements OnInit {
this
.
Env
.
Team
.
AgentCallCenter
,
this
.
Env
.
Team
.
SociomileStaff
,
this
.
Env
.
Team
.
MerchantBusiness
,
this
.
Env
.
Team
.
DigitalLoan
this
.
Env
.
Team
.
DigitalLoan
,
this
.
Env
.
Team
.
TransferTradeOperation
,
this
.
Env
.
Team
.
WealthManagement
,
this
.
Env
.
Team
.
DigitalBankingBusiness
,
this
.
Env
.
Team
.
MerchantService
,
this
.
Env
.
Team
.
TransferTradeOperation
,
this
.
Env
.
Team
.
ITB2BApplicationSupport
]
}
...
...
@@ -1085,7 +1091,12 @@ export class AdminTicketOnpicDetailComponent implements OnInit {
this
.
Env
.
Team
.
AgentCallCenter
,
this
.
Env
.
Team
.
SociomileStaff
,
this
.
Env
.
Team
.
MerchantBusiness
,
this
.
Env
.
Team
.
DigitalLoan
this
.
Env
.
Team
.
DigitalLoan
,
this
.
Env
.
Team
.
TransferTradeOperation
,
this
.
Env
.
Team
.
WealthManagement
,
this
.
Env
.
Team
.
DigitalBankingBusiness
,
this
.
Env
.
Team
.
MerchantService
,
this
.
Env
.
Team
.
TransferTradeOperation
,
]
}
...
...
@@ -1240,10 +1251,10 @@ export class AdminTicketOnpicDetailComponent implements OnInit {
if
(
result
.
values
!=
null
&&
result
.
values
!=
undefined
){
this
.
AssigneeTeamAgentData
.
push
({
ID
:
""
,
Name
:
"No Select"
})
//
this.AssigneeTeamAgentData.push({
//
ID: "",
//
Name: "No Select"
//
})
this
.
AssigneeTeamAgent_ID
=
""
...
...
@@ -1520,11 +1531,11 @@ export class AdminTicketOnpicDetailComponent implements OnInit {
// })
// this.SubTopic_ID = ""
//
this.CategoryData = [{
//
ID: "",
//
Name: "No Select"
//
}]
//
this.Category_ID = ""
this
.
CategoryData
=
[{
ID
:
""
,
Name
:
"No Select"
}]
this
.
Category_ID
=
""
for
(
var
i
=
0
;
i
<
result
.
values
.
length
;
i
++
){
this
.
SubTopicData
.
push
({
...
...
src/app/admin/admin-ticket/admin-ticket-create/admin-ticket-create.component.html
View file @
7592cda5
...
...
@@ -56,16 +56,35 @@
</p>
<div
class=
"form-group"
>
<label
class=
"text-muted"
>
Assignee Team
<span
class=
"text-danger"
>
*
</span></label>
<select
type=
"text"
#
inputRequired
class=
"form-control form-control-sm select-style"
<
!-- <
select type="text" #inputRequired class="form-control form-control-sm select-style"
[(ngModel)]="AssigneeTeam_ID" (change)="AssigneeTeamChange()">
<ng-container *ngFor="let AssigneeTeam of AssigneeTeamData; let i = index">
<option value="{{AssigneeTeam.ID}}">{{AssigneeTeam.Name}}</option>
</ng-container>
</select>
</select> -->
<nz-select
style=
"width: 100%;"
[(
ngModel
)]="
AssigneeTeam_ID
"
nzPlaceHolder=
"Select Team"
nzAllowClear
nzShowSearch
(
ngModelChange
)="
AssigneeTeamChange
()"
>
<nz-option
*
ngFor=
"let o of AssigneeTeamData"
[
nzValue
]="
o
.
ID
"
[
nzLabel
]="
o
.
Name
"
></nz-option>
</nz-select>
</div>
<div
class=
"form-group"
>
<label
class=
"text-muted"
>
Assignee Agent
<span
class=
"text-danger"
>
*
</span></label>
<div
[
ngClass
]="{'
arataka-custom-autocomplete
'
:
search
.
isAgent
}"
*
ngIf=
"search.isAgent"
>
<nz-select
style=
"width: 100%;"
[(
ngModel
)]="
AssigneeTeamAgent_ID
"
nzPlaceHolder=
"Select Agent"
nzAllowClear
nzShowSearch
>
<nz-option
*
ngFor=
"let o of AssigneeTeamAgentData"
[
nzValue
]="
o
.
ID
"
[
nzLabel
]="
o
.
Name
"
></nz-option>
</nz-select>
<!-- <div [ngClass]="{'arataka-custom-autocomplete': search.isAgent}" *ngIf="search.isAgent">
<input type="text" class="form-control form-control-sm" [(ngModel)]="AssigneeTeamAgent_Name"
placeholder="All Agent : Type to search" (blur)="onBlur()"
(keyup)="onSeacrhSelectAgent($event)"/>
...
...
@@ -82,7 +101,7 @@
<ng-container *ngFor="let AssigneeTeamAgent of AssigneeTeamAgentData; let i = index">
<option value="{{AssigneeTeamAgent.ID}}">{{AssigneeTeamAgent.Name}}</option>
</ng-container>
</select>
</select>
-->
</div>
<hr>
<p>
...
...
@@ -99,7 +118,17 @@
</div>
<div
class=
"form-group"
>
<label
class=
"text-muted"
>
Sub Topic
<span
class=
"text-danger"
>
*
</span></label>
<div
[
ngClass
]="{'
arataka-custom-autocomplete
'
:
search
.
isSubTopic
}"
*
ngIf=
"search.isSubTopic"
>
<nz-select
style=
"width: 100%;"
[(
ngModel
)]="
SubTopic_ID
"
nzPlaceHolder=
"Select Sub Topic"
nzAllowClear
nzShowSearch
(
ngModelChange
)="
SubTopicChange
()"
>
<nz-option
*
ngFor=
"let o of SubTopicData"
[
nzValue
]="
o
.
ID
"
[
nzLabel
]="
o
.
Name
"
></nz-option>
</nz-select>
<!-- <div [ngClass]="{'arataka-custom-autocomplete': search.isSubTopic}" *ngIf="search.isSubTopic">
<input type="text" class="form-control form-control-sm" [(ngModel)]="SubTopic_Name"
placeholder="All Sub Topic : Type to search" (blur)="onBlur()"
(keyup)="onSeacrhSelectSubTopic($event)"/>
...
...
@@ -116,11 +145,20 @@
<ng-container *ngFor="let SubTopic of SubTopicData; let i = index">
<option value="{{SubTopic.ID}}">{{SubTopic.Name}}</option>
</ng-container>
</select>
</select>
-->
</div>
<div
class=
"form-group"
>
<label
class=
"text-muted"
>
Category
<span
class=
"text-danger"
>
*
</span></label>
<div
[
ngClass
]="{'
arataka-custom-autocomplete
'
:
search
.
isCategory
}"
*
ngIf=
"search.isCategory"
>
<nz-select
style=
"width: 100%;"
[(
ngModel
)]="
Category_ID
"
nzPlaceHolder=
"Select Category"
nzAllowClear
nzShowSearch
>
<nz-option
*
ngFor=
"let o of CategoryData"
[
nzValue
]="
o
.
ID
"
[
nzLabel
]="
o
.
Name
"
></nz-option>
</nz-select>
<!-- <div [ngClass]="{'arataka-custom-autocomplete': search.isCategory}" *ngIf="search.isCategory">
<input type="text" class="form-control form-control-sm" [(ngModel)]="Category_Name"
placeholder="All Category : Type to search" (blur)="onBlur()"
(keyup)="onSeacrhSelectCategory($event)"/>
...
...
@@ -136,7 +174,7 @@
<ng-container *ngFor="let Category of CategoryData; let i = index">
<option value="{{Category.ID}}">{{Category.Name}}</option>
</ng-container>
</select>
</select>
-->
</div>
<ng-container
*
ngIf=
"Topic_ID == Env.Topic.Keluhan.toString() || Topic_ID == Env.Topic.PermintaanKeServiceDesk.toString()"
>
...
...
src/app/admin/admin-ticket/admin-ticket-create/admin-ticket-create.component.ts
View file @
7592cda5
...
...
@@ -240,7 +240,7 @@ export class AdminTicketCreateComponent implements OnInit {
}
AssigneeTeamChange
(){
if
(
this
.
AssigneeTeam_ID
!=
""
){
if
(
this
.
AssigneeTeam_ID
!=
""
&&
this
.
AssigneeTeam_ID
){
this
.
GettingTeamAgentListAPI
({
ID
:
parseInt
(
this
.
AssigneeTeam_ID
)})
}
else
{
this
.
AssigneeTeamAgentData
=
[{
...
...
@@ -270,7 +270,7 @@ export class AdminTicketCreateComponent implements OnInit {
}
SubTopicChange
(){
if
(
this
.
SubTopic_ID
!=
""
){
if
(
this
.
SubTopic_ID
!=
""
&&
this
.
SubTopic_ID
){
this
.
GettingCategoryListAPI
({
ID
:
parseInt
(
this
.
SubTopic_ID
)})
}
else
{
this
.
CategoryData
=
[{
...
...
@@ -344,8 +344,8 @@ export class AdminTicketCreateComponent implements OnInit {
var
Request
=
{
caller_id
:
this
.
CustomerMdData
.
ID
,
service_id
:
this
.
SubTopic_ID
,
servicesubcategory_id
:
this
.
Category_ID
,
service_id
:
Number
(
this
.
SubTopic_ID
)
,
servicesubcategory_id
:
Number
(
this
.
Category_ID
)
,
title
:
this
.
Subject
,
description
:
this
.
Description
,
cscabang
:
this
.
CSCabang
,
...
...
@@ -425,7 +425,13 @@ export class AdminTicketCreateComponent implements OnInit {
this
.
Env
.
Team
.
ITRM
,
this
.
Env
.
Team
.
BarcodeQRIS
,
this
.
Env
.
Team
.
MerchantBusiness
,
this
.
Env
.
Team
.
DigitalLoan
this
.
Env
.
Team
.
DigitalLoan
,
this
.
Env
.
Team
.
TransferTradeOperation
,
this
.
Env
.
Team
.
WealthManagement
,
this
.
Env
.
Team
.
DigitalBankingBusiness
,
this
.
Env
.
Team
.
MerchantService
,
this
.
Env
.
Team
.
TransferTradeOperation
,
this
.
Env
.
Team
.
ITB2BApplicationSupport
]
}
...
...
@@ -865,8 +871,8 @@ export class AdminTicketCreateComponent implements OnInit {
this
.
InsertNewTicketAssignAPI
({
ticket_assign
:
created
.
key
,
ticket_class
:
created
.
class
,
team_id
:
this
.
AssigneeTeam_ID
,
agent_id
:
this
.
AssigneeTeamAgent_ID
,
team_id
:
Number
(
this
.
AssigneeTeam_ID
)
,
agent_id
:
Number
(
this
.
AssigneeTeamAgent_ID
)
,
source_agent_id
:
this
.
_SP
.
getUserInformation
.
values
.
user_id
})
...
...
src/app/admin/admin-ticket/admin-ticket-detail/admin-ticket-detail.component.html
View file @
7592cda5
...
...
@@ -91,18 +91,31 @@
</p>
<div
class=
"form-group"
>
<label
class=
"text-muted"
>
Assignee Team
<span
class=
"text-danger"
>
*
</span></label>
<select
type=
"text"
#
inputRequired
class=
"form-control form-control-sm select-style"
<nz-select
style=
"width: 100%;"
[(
ngModel
)]="
AssigneeTeam_ID
"
nzPlaceHolder=
"Select Team"
nzAllowClear
nzShowSearch
(
ngModelChange
)="
AssigneeTeamChange
()"
[
disabled
]="
IsFormTeamDisabled
"
(
change
)="
AssigneeTeamChange
()"
>
<ng-container
*
ngFor=
"let AssigneeTeam of AssigneeTeamData; let i = index"
>
<option
value=
"{{AssigneeTeam.ID}}"
>
{{AssigneeTeam.Name}}
</option>
</ng-container>
</select>
>
<nz-option
*
ngFor=
"let o of AssigneeTeamData"
[
nzValue
]="
o
.
ID
"
[
nzLabel
]="
o
.
Name
"
></nz-option>
</nz-select>
</div>
<div
class=
"form-group"
>
<label
class=
"text-muted"
>
Assignee Agent
<span
class=
"text-danger"
>
*
</span></label>
<nz-select
style=
"width: 100%;"
[(
ngModel
)]="
AssigneeTeamAgent_ID
"
[
disabled
]="
IsFormTeamAgentDisabled
"
nzPlaceHolder=
"Select Agent"
nzAllowClear
nzShowSearch
>
<nz-option
*
ngFor=
"let o of AssigneeTeamAgentData"
[
nzValue
]="
o
.
ID
"
[
nzLabel
]="
o
.
Name
"
></nz-option>
</nz-select>
<!-- <div class="form-group">
<label class="text-muted">Assignee Agent <span class="text-danger">*</span></label>
<div [ngClass]="{'arataka-custom-autocomplete': search.isAgent}" *ngIf="search.isAgent">
<input type="text" class="form-control form-control-sm" [(ngModel)]="AssigneeTeamAgent_Name"
...
...
@@ -125,7 +138,7 @@
<ng-container *ngFor="let AssigneeTeamAgent of AssigneeTeamAgentData; let i = index">
<option value="{{AssigneeTeamAgent.ID}}">{{AssigneeTeamAgent.Name}}</option>
</ng-container>
</select>
</select>
-->
</div>
<div
class=
"row"
*
ngIf=
"IsFormTeamDisabled == false && IsFormTeamAgentDisabled == false"
>
<div
class=
"col-6"
>
...
...
@@ -164,6 +177,32 @@
</select>
</div>
<div
class=
"form-group"
>
<label
class=
"text-muted"
>
Sub Topic
<span
class=
"text-danger"
>
*
</span></label>
<nz-select
style=
"width: 100%;"
[(
ngModel
)]="
SubTopic_ID
"
nzPlaceHolder=
"Select Sub Topic"
nzAllowClear
nzShowSearch
(
ngModelChange
)="
SubTopicChange
()"
[
disabled
]="
IsFormSubTopicDisabled
"
>
<nz-option
*
ngFor=
"let o of SubTopicData"
[
nzValue
]="
o
.
ID
"
[
nzLabel
]="
o
.
Name
"
></nz-option>
</nz-select>
</div>
<div
class=
"form-group"
>
<label
class=
"text-muted"
>
Category
<span
class=
"text-danger"
>
*
</span></label>
<nz-select
style=
"width: 100%;"
[(
ngModel
)]="
Category_ID
"
nzPlaceHolder=
"Select Category"
nzAllowClear
nzShowSearch
[
disabled
]="
IsFormCategoryDisabled
"
>
<nz-option
*
ngFor=
"let o of CategoryData"
[
nzValue
]="
o
.
ID
"
[
nzLabel
]="
o
.
Name
"
></nz-option>
</nz-select>
<!-- <div class="form-group">
<label class="text-muted">Sub Topic <span class="text-danger">*</span></label>
<div [ngClass]="{'arataka-custom-autocomplete': search.isSubTopic}" *ngIf="search.isSubTopic">
<input type="text" class="form-control form-control-sm" [(ngModel)]="SubTopic_Name"
...
...
@@ -212,7 +251,7 @@
<ng-container *ngFor="let Category of CategoryData; let i = index">
<option value="{{Category.ID}}">{{Category.Name}}</option>
</ng-container>
</select>
</select>
-->
</div>
<div
class=
"row"
*
ngIf=
"IsFormTopicDisabled == false && IsFormSubTopicDisabled == false && IsFormCategoryDisabled == false"
>
<div
class=
"col-6"
>
...
...
@@ -476,7 +515,17 @@
<div
class=
"col-12"
>
<div
class=
"form-group"
>
<label
class=
"text-muted"
>
Internal Note Assignee Team
<span
class=
"text-danger"
>
*
</span></label>
<select
type=
"text"
<nz-select
style=
"width: 100%;"
[(
ngModel
)]="
AssigneeTeamDestionationID
"
nzPlaceHolder=
"Select Team"
nzAllowClear
nzShowSearch
(
ngModelChange
)="
AssigneeTeamDestinationChange
()"
>
<nz-option
*
ngFor=
"let o of AssigneeTeamDestionationData"
[
nzValue
]="
o
.
ID
"
[
nzLabel
]="
o
.
Name
"
></nz-option>
</nz-select>
<!-- <select type="text"
#inputRequired
class="form-control form-control-sm select-style"
[(ngModel)]="AssigneeTeamDestionationID"
...
...
@@ -484,20 +533,29 @@
<ng-container *ngFor="let AssigneeTeam of AssigneeTeamDestionationData; let i = index">
<option value="{{AssigneeTeam.ID}}">{{AssigneeTeam.Name}}</option>
</ng-container>
</select>
</select>
-->
</div>
</div>
<div
class=
"col-12"
>
<div
class=
"form-group"
>
<label
class=
"text-muted"
>
Internal Note Assignee Agent
<span
class=
"text-danger"
>
*
</span></label>
<select
type=
"text"
<nz-select
style=
"width: 100%;"
[(
ngModel
)]="
AssigneeTeamAgentDestionationID
"
nzPlaceHolder=
"Select Agent"
nzAllowClear
nzShowSearch
>
<nz-option
*
ngFor=
"let o of AssigneeTeamAgentDestinationData"
[
nzValue
]="
o
.
ID
"
[
nzLabel
]="
o
.
Name
"
></nz-option>
</nz-select>
<!-- <select type="text"
#inputRequired
class="form-control form-control-sm select-style"
[(ngModel)]="AssigneeTeamAgentDestionationID">
<ng-container *ngFor="let AssigneeTeamAgent of AssigneeTeamAgentDestinationData; let i = index">
<option value="{{AssigneeTeamAgent.ID}}">{{AssigneeTeamAgent.Name}}</option>
</ng-container>
</select>
</select>
-->
</div>
</div>
</div>
...
...
src/app/admin/admin-ticket/admin-ticket-detail/admin-ticket-detail.component.ts
View file @
7592cda5
...
...
@@ -415,7 +415,7 @@ export class AdminTicketDetailComponent implements OnInit {
}
AssigneeTeamChange
(){
if
(
this
.
AssigneeTeam_ID
!=
""
){
if
(
this
.
AssigneeTeam_ID
!=
""
&&
this
.
AssigneeTeam_ID
){
this
.
GettingTeamAgentListAPI
({
ID
:
parseInt
(
this
.
AssigneeTeam_ID
)})
}
else
{
this
.
AssigneeTeamAgentData
=
[{
...
...
@@ -427,7 +427,7 @@ export class AdminTicketDetailComponent implements OnInit {
}
AssigneeTeamDestinationChange
(){
if
(
this
.
AssigneeTeamDestionationID
!=
""
){
if
(
this
.
AssigneeTeamDestionationID
!=
""
&&
this
.
AssigneeTeamDestionationID
){
this
.
GettingTeamAgentForDestinationListAPI
({
ID
:
parseInt
(
this
.
AssigneeTeamDestionationID
)})
}
else
{
this
.
AssigneeTeamAgentDestinationData
=
[{
...
...
@@ -457,7 +457,7 @@ export class AdminTicketDetailComponent implements OnInit {
}
SubTopicChange
(){
if
(
this
.
SubTopic_ID
!=
""
){
if
(
this
.
SubTopic_ID
!=
""
&&
this
.
SubTopic_ID
){
this
.
GettingCategoryListAPI
({
ID
:
parseInt
(
this
.
SubTopic_ID
)})
}
else
{
this
.
CategoryData
=
[{
...
...
@@ -1049,7 +1049,13 @@ export class AdminTicketDetailComponent implements OnInit {
this
.
Env
.
Team
.
AgentCallCenter
,
this
.
Env
.
Team
.
SociomileStaff
,
this
.
Env
.
Team
.
MerchantBusiness
,
this
.
Env
.
Team
.
DigitalLoan
this
.
Env
.
Team
.
DigitalLoan
,
this
.
Env
.
Team
.
TransferTradeOperation
,
this
.
Env
.
Team
.
WealthManagement
,
this
.
Env
.
Team
.
DigitalBankingBusiness
,
this
.
Env
.
Team
.
MerchantService
,
this
.
Env
.
Team
.
TransferTradeOperation
,
this
.
Env
.
Team
.
ITB2BApplicationSupport
]
}
...
...
@@ -1112,7 +1118,6 @@ export class AdminTicketDetailComponent implements OnInit {
})
}
}
// this.AssigneeTeamData.sort(function(a, b){
// if(a.Name < b.Name) { return -1; }
// if(a.Name > b.Name) { return 1; }
...
...
@@ -1184,7 +1189,13 @@ export class AdminTicketDetailComponent implements OnInit {
this
.
Env
.
Team
.
AgentCallCenter
,
this
.
Env
.
Team
.
SociomileStaff
,
this
.
Env
.
Team
.
MerchantBusiness
,
this
.
Env
.
Team
.
DigitalLoan
this
.
Env
.
Team
.
DigitalLoan
,
this
.
Env
.
Team
.
TransferTradeOperation
,
this
.
Env
.
Team
.
WealthManagement
,
this
.
Env
.
Team
.
DigitalBankingBusiness
,
this
.
Env
.
Team
.
MerchantService
,
this
.
Env
.
Team
.
TransferTradeOperation
,
this
.
Env
.
Team
.
ITB2BApplicationSupport
]
}
...
...
@@ -1339,10 +1350,10 @@ export class AdminTicketDetailComponent implements OnInit {
if
(
result
.
values
!=
null
&&
result
.
values
!=
undefined
){
this
.
AssigneeTeamAgentData
.
push
({
ID
:
""
,
Name
:
"No Select"
})
//
this.AssigneeTeamAgentData.push({
//
ID: "",
//
Name: "No Select"
//
})
this
.
AssigneeTeamAgent_ID
=
""
...
...
@@ -1603,7 +1614,6 @@ export class AdminTicketDetailComponent implements OnInit {
Name
:
"Retrieving.."
}]
this
.
SubTopic_ID
=
""
this
.
_TicketService
.
GetSubTopic
(
_Request
)
.
subscribe
((
result
:
any
)
=>
{
if
(
result
!=
null
){
...
...
@@ -1619,11 +1629,11 @@ export class AdminTicketDetailComponent implements OnInit {
// })
// this.SubTopic_ID = ""
//
this.CategoryData = [{
//
ID: "",
//
Name: "No Select"
//
}]
//
this.Category_ID = ""
this
.
CategoryData
=
[{
ID
:
""
,
Name
:
"No Select"
}]
this
.
Category_ID
=
""
for
(
var
i
=
0
;
i
<
result
.
values
.
length
;
i
++
){
this
.
SubTopicData
.
push
({
...
...
src/app/admin/admin.module.ts
View file @
7592cda5
...
...
@@ -37,7 +37,8 @@ import { TabsLogbookComponent } from './logbook/tabs-logbook/tabs-logbook.compon
import { PipeEncryptoJs } from '../pipe/pipe-global.pipe';
import { PipeDencryptoJs } from '../pipe/pipe-global.pipe';
*/
import
{
NzSelectModule
}
from
'ng-zorro-antd'
;
import
{
NgZorroAntdModule
}
from
'ng-zorro-antd'
;
@
NgModule
({
declarations
:
[
/*PipeSha256,
...
...
@@ -76,7 +77,9 @@ import { PipeDencryptoJs } from '../pipe/pipe-global.pipe';
ReactiveFormsModule
,
CommonModule
,
AdminRoutingModule
,
CKEditorModule
CKEditorModule
,
NzSelectModule
,
NgZorroAntdModule
]
})
export
class
AdminModule
{
}
src/app/app.module.ts
View file @
7592cda5
...
...
@@ -19,9 +19,9 @@ import { SideBarMenuComponent } from './shared/side-bar-menu/side-bar-menu.compo
import
{
NavTopMenuComponent
}
from
'./shared/nav-top-menu/nav-top-menu.component'
;
import
{
SupportComponent
}
from
'./support/support.component'
;
import
{
PageNotFoundComponent
}
from
'./page-not-found/page-not-found.component'
;
import
{
BrowserAnimationsModule
}
from
"@angular/platform-browser/animations"
;
import
{
PipeglobalModule
}
from
'./pipe/pipeglobal/pipeglobal.module'
;
import
{
NgZorroAntdModule
}
from
'ng-zorro-antd'
;
export
const
configFactory
=
(
configService
:
ConfigService
)
=>
{
return
()
=>
configService
.
loadEnvConfig
();
};
...
...
@@ -43,6 +43,8 @@ export const configFactory = (configService: ConfigService) => {
FormsModule
,
ReactiveFormsModule
,
HttpClientModule
,
NgZorroAntdModule
,
BrowserAnimationsModule
,
RouterModule
.
forRoot
([])
],
//exports: [RouterModule],
...
...
src/environments/environment.prod.ts
View file @
7592cda5
...
...
@@ -50,7 +50,12 @@ export const environment = {
"SupervisorNobu"
:
42931
,
"MerchantBusiness"
:
66798
,
"ServiceReport"
:
97408
,
"DigitalLoan"
:
143888
"DigitalLoan"
:
143888
,
"TransferTradeOperation"
:
219453
,
"WealthManagement"
:
219458
,
"DigitalBankingBusiness"
:
219459
,
"MerchantService"
:
219460
,
"ITB2BApplicationSupport"
:
219462
},
"Agent"
:
{
"NobuCall"
:
42
,
...
...
src/environments/environment.ts
View file @
7592cda5
...
...
@@ -55,7 +55,12 @@ export const environment = {
"SupervisorNobu"
:
42931
,
"MerchantBusiness"
:
66798
,
"ServiceReport"
:
97408
,
"DigitalLoan"
:
143888
"DigitalLoan"
:
143888
,
"TransferTradeOperation"
:
219453
,
"WealthManagement"
:
219458
,
"DigitalBankingBusiness"
:
219459
,
"MerchantService"
:
219460
,
"ITB2BApplicationSupport"
:
219462
},
"Agent"
:
{
"NobuCall"
:
42
,
...
...
yarn.lock
View file @
7592cda5
...
...
@@ -102,13 +102,22 @@
"@angular-devkit/core" "7.1.1"
"rxjs" "6.3.3"
"@angular/animations@~7.1.0":
"@angular/animations@
^7.0.0", "@angular/animations@
~7.1.0":
"integrity" "sha512-iTNxhPPraCZsE4rgM23lguT1kDV4mfYAr+Bsi5J0+v9ZJA+VaKvi6eRW8ZGrx4/rDz6hzTnBn1jgPppHFbsOcw=="
"resolved" "https://registry.npmjs.org/@angular/animations/-/animations-7.1.1.tgz"
"version" "7.1.1"
dependencies:
"tslib" "^1.9.0"
"@angular/cdk@^7.0.0":
"integrity" "sha512-xbXxhHHKGkVuW6K7pzPmvpJXIwpl0ykBnvA2g+/7Sgy5Pd35wCC+UtHD9RYczDM/mkygNxMQtagyCErwFnDtQA=="
"resolved" "https://registry.npmjs.org/@angular/cdk/-/cdk-7.3.7.tgz"
"version" "7.3.7"
dependencies:
"tslib" "^1.7.1"
optionalDependencies:
"parse5" "^5.0.0"
"@angular/cli@~7.1.1":
"integrity" "sha512-lPVKsk035T5Ls0Mf83OngrNoLZu/ucZSjRLN/GWZK1O/YYVmb/dTgVl/a7HC+G480tWQ34nlqnCRbrP7sE9v7g=="
"resolved" "https://registry.npmjs.org/@angular/cli/-/cli-7.1.1.tgz"
...
...
@@ -124,7 +133,7 @@
"semver" "5.5.1"
"symbol-observable" "1.2.0"
"@angular/common@
>=5
.0.0", "@angular/common@~7.1.0", "@angular/common@7.1.1":
"@angular/common@
^7.0.0", "@angular/common@>=5.0.0", "@angular/common@>=7
.0.0", "@angular/common@~7.1.0", "@angular/common@7.1.1":
"integrity" "sha512-SngekFx9v39sjgi9pON0Wehxpu+NdUk7OEebw4Fa8dKqTgydTkuhmnNH+9WQe264asoeCt51oufPRjIqMLNohA=="
"resolved" "https://registry.npmjs.org/@angular/common/-/common-7.1.1.tgz"
"version" "7.1.1"
...
...
@@ -155,14 +164,14 @@
dependencies:
"tslib" "^1.9.0"
"@angular/core@
>=2.3.1 <8.0.0 || >7.0.0-beta <8.0.0", "@angular/core@>=5
.0.0", "@angular/core@~7.1.0", "@angular/core@7.1.1", "@angular/core@7.2.16":
"@angular/core@
^7.0.0", "@angular/core@>=2.3.1 <8.0.0 || >7.0.0-beta <8.0.0", "@angular/core@>=5.0.0", "@angular/core@>=7
.0.0", "@angular/core@~7.1.0", "@angular/core@7.1.1", "@angular/core@7.2.16":
"integrity" "sha512-Osig5SRgDRQ+Hec/liN7nq/BCJieB+4/pqRh9rFbOXezb2ptgRZqdXOXN8P17i4AwPVf308Mh55V0niJ5Eu3Rw=="
"resolved" "https://registry.npmjs.org/@angular/core/-/core-7.1.1.tgz"
"version" "7.1.1"
dependencies:
"tslib" "^1.9.0"
"@angular/forms@>=5.0.0", "@angular/forms@~7.1.0":
"@angular/forms@
^7.0.0", "@angular/forms@
>=5.0.0", "@angular/forms@~7.1.0":
"integrity" "sha512-yCWuPjpu23Wc3XUw7v/ACNn/e249oT0bYlM8aaMQ1F5OwrmmC4NJC12Rpl9Ihza61RIHIKzNcHVEgzc7WhcSag=="
"resolved" "https://registry.npmjs.org/@angular/forms/-/forms-7.1.1.tgz"
"version" "7.1.1"
...
...
@@ -202,6 +211,21 @@
dependencies:
"tslib" "^1.9.0"
"@ant-design/colors@^3.1.0":
"integrity" "sha512-YKgNbG2dlzqMhA9NtI3/pbY16m3Yl/EeWBRa+lB1X1YaYxHrxNexiQYCLTWO/uDvAjLFMEDU+zR901waBtMtjQ=="
"resolved" "https://registry.npmjs.org/@ant-design/colors/-/colors-3.2.2.tgz"
"version" "3.2.2"
dependencies:
"tinycolor2" "^1.4.1"
"@ant-design/icons-angular@^2.0.2":
"integrity" "sha512-FDOtuxPKm2CaxWBWFqP2a5abtrrlVz8HzBdLEJJD68bW9ombWQKH71ZMp1Iw53Koqn1KTUCy0jPqSuSwx5wcrA=="
"resolved" "https://registry.npmjs.org/@ant-design/icons-angular/-/icons-angular-2.1.0.tgz"
"version" "2.1.0"
dependencies:
"@ant-design/colors" "^3.1.0"
"tslib" "^1.9.0"
"@babel/code-frame@^7.0.0":
"integrity" "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA=="
"resolved" "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz"
...
...
@@ -1896,6 +1920,11 @@
dependencies:
"assert-plus" "^1.0.0"
"date-fns@^1.29.0":
"integrity" "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw=="
"resolved" "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz"
"version" "1.30.1"
"date-format@^1.2.0":
"integrity" "sha1-YV6CjiM90aubua4JUODOzPpuytg="
"resolved" "https://registry.npmjs.org/date-format/-/date-format-1.2.0.tgz"
...
...
@@ -4525,6 +4554,16 @@
"resolved" "https://registry.npmjs.org/neo-async/-/neo-async-2.6.0.tgz"
"version" "2.6.0"
"ng-zorro-antd@^7.1.0":
"integrity" "sha512-EA/vsrnfkmEfwr1hTXOh3p3g7rx/4go34JQm6QtVnk7ddH9Fvk+hSLgrh8CddNvSrNtxDDHXKlnAyAqWCNpTZQ=="
"resolved" "https://registry.npmjs.org/ng-zorro-antd/-/ng-zorro-antd-7.1.0.tgz"
"version" "7.1.0"
dependencies:
"@angular/cdk" "^7.0.0"
"@ant-design/icons-angular" "^2.0.2"
"date-fns" "^1.29.0"
"tslib" "^1.9.0"
"ngx-ckeditor@^0.4.0":
"integrity" "sha512-SIFbVVFRy08Pz2/WuzqNXU0LW8kcuAgxrxL4SLi+8zl1AAxqvqjk79aAiI79A7XI2u+w9m22Suq9Pv3AvyjnTg=="
"resolved" "https://registry.npmjs.org/ngx-ckeditor/-/ngx-ckeditor-0.4.0.tgz"
...
...
@@ -4975,6 +5014,11 @@
"error-ex" "^1.3.1"
"json-parse-better-errors" "^1.0.1"
"parse5@^5.0.0":
"integrity" "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug=="
"resolved" "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz"
"version" "5.1.1"
"parse5@4.0.0":
"integrity" "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA=="
"resolved" "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz"
...
...
@@ -6518,6 +6562,11 @@
dependencies:
"setimmediate" "^1.0.4"
"tinycolor2@^1.4.1":
"integrity" "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw=="
"resolved" "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz"
"version" "1.6.0"
"tmp@^0.0.33", "tmp@0.0.33", "tmp@0.0.x":
"integrity" "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw=="
"resolved" "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz"
...
...
@@ -6609,7 +6658,7 @@
"source-map-support" "^0.5.6"
"yn" "^2.0.0"
"tslib@^1.8.0", "tslib@^1.8.1", "tslib@^1.9.0":
"tslib@^1.
7.1", "tslib@^1.
8.0", "tslib@^1.8.1", "tslib@^1.9.0":
"integrity" "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ=="
"resolved" "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz"
"version" "1.9.3"
...
...
@@ -6676,7 +6725,7 @@
"resolved" "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz"
"version" "0.0.6"
"typescript@>=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev", "typescript@>=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >= 3.0.0-dev || >= 3.1.0-dev", "typescript@>=2.4.0 < 3.2", "typescript@>=3.1.1 <3.2", "typescript@~3.1.6", "typescript@3.1.6":
"typescript@>=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev", "typescript@>=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >= 3.0.0-dev || >= 3.1.0-dev", "typescript@>=2.4.0 < 3.2", "typescript@>=3.1.1 <3.2", "typescript@~3.1.
3", "typescript@~3.1.
6", "typescript@3.1.6":
"integrity" "sha512-tDMYfVtvpb96msS1lDX9MEdHrW4yOuZ4Kdc4Him9oU796XldPYF/t2+uKoX0BBa0hXXwDlqYQbXY5Rzjzc5hBA=="
"resolved" "https://registry.npmjs.org/typescript/-/typescript-3.1.6.tgz"
"version" "3.1.6"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment