+
-
@@ -35,9 +35,11 @@
type |
required |
multiple |
+
filterable |
+
hidden |
related |
- |
@@ -48,14 +50,16 @@
{{field.type}} |
{{field.required}} |
{{field.multiple}} |
+
{{field.filterable}} |
+
{{field.hidden}} |
{{field.related}} |
- |
- |
diff --git a/src/app/_modules/administration/object-type/list/item/object-type-list-item.component.ts b/src/app/_modules/administration/object-type/list/item/object-type-list-item.component.ts
index 9009184..0bd9bff 100644
--- a/src/app/_modules/administration/object-type/list/item/object-type-list-item.component.ts
+++ b/src/app/_modules/administration/object-type/list/item/object-type-list-item.component.ts
@@ -5,6 +5,8 @@ import {DialogService} from "@app/_services/dialog.service";
import {ObjectTypesService} from "@app/_services/object-types.service";
import {group} from "@angular/animations";
import {concatAll} from "rxjs/operators";
+import {GroupsService} from "@app/_services/groups.service";
+import {FieldsService} from "@app/_services/fields.service";
@Component({
selector: 'object-type-list-item',
@@ -23,6 +25,8 @@ export class ObjectTypeListItemComponent {
public objectTypesService: ObjectTypesService,
private formsService: FormsService,
private listsService: ListsService,
+ private groupsService: GroupsService,
+ private fieldsService: FieldsService,
private dialog: DialogService) {
}
@@ -156,31 +160,40 @@ export class ObjectTypeListItemComponent {
this.refresh()
}
- editGroup() {
- this.formsService.editModel('fieldsGroup', this.objectType.groups.id, null, this.listId);
+ editGroup( id:string) {
+ this.formsService.editModel('fieldsGroup', id, null, this.listId);
+ this.refresh()
}
- deleteGroup() {
- this.dialog.confirm(`Удалить страницу ${this.objectType.groups.name}?`).subscribe(
+ deleteGroup(id:string, name: string) {
+ this.dialog.confirm(`Удалить группу ${name}?`).subscribe(
resp=>{
- if (resp) this.objectTypesService.delete(this.objectType.groups.id).subscribe(res => {
- this.listsService.refresh(this.parentListId);
+ if (resp) this.groupsService.delete(id).subscribe(res => {
+ // this.listsService.refresh(this.parentListId);
this.refresh();
});
}
)
}
- addField() {
- this.formsService.createModel('field'/*,{extraProps: {object_type: this.objectType.id}}*/);
+ addField(id:string) {
+ this.formsService.createModel('field',{extraProps: {group:id}});
this.refresh()
}
- editField() {
-
+ editField(id:string) {
+ this.formsService.editModel('field', id, null, this.listId);
+ this.refresh()
}
- deleteField() {
-
+ deleteField(id:string, title: string) {
+ this.dialog.confirm(`Удалить группу ${title}?`).subscribe(
+ resp=>{
+ if (resp) this.fieldsService.delete(id).subscribe(res => {
+ // this.listsService.refresh(this.parentListId);
+ this.refresh();
+ });
+ }
+ )
}
}
diff --git a/src/app/_services/fields.service.ts b/src/app/_services/fields.service.ts
new file mode 100644
index 0000000..f05f31b
--- /dev/null
+++ b/src/app/_services/fields.service.ts
@@ -0,0 +1,18 @@
+import { Injectable } from '@angular/core';
+import {Observable} from "rxjs";
+import {environment} from "@environments/environment";
+import {HttpClient} from "@angular/common/http";
+import {LicenceService} from "@app/_services/licence.service";
+import {DialogService} from "@app/_services/dialog.service";
+
+@Injectable({
+ providedIn: 'root'
+})
+export class FieldsService {
+
+ constructor(private http: HttpClient, private licenceService: LicenceService, private dialog: DialogService) {}
+
+ delete(id: string): Observable
{
+ return this.http.delete(`${environment.apiUrl}/api/fields/${id}`);
+ }
+}
diff --git a/src/app/_services/groups.service.ts b/src/app/_services/groups.service.ts
new file mode 100644
index 0000000..9443227
--- /dev/null
+++ b/src/app/_services/groups.service.ts
@@ -0,0 +1,18 @@
+import { Injectable } from '@angular/core';
+import {Observable} from "rxjs";
+import {environment} from "@environments/environment";
+import {HttpClient} from "@angular/common/http";
+import {LicenceService} from "@app/_services/licence.service";
+import {DialogService} from "@app/_services/dialog.service";
+
+@Injectable({
+ providedIn: 'root'
+})
+export class GroupsService {
+
+ constructor(private http: HttpClient, private licenceService: LicenceService, private dialog: DialogService) {}
+
+ delete(id: string): Observable {
+ return this.http.delete(`${environment.apiUrl}/api/group-fields/${id}`);
+ }
+}