diff --git a/src/app/_modules/layout/footer/footer.component.scss b/src/app/_modules/layout/footer/footer.component.scss index b67f381..e489912 100644 --- a/src/app/_modules/layout/footer/footer.component.scss +++ b/src/app/_modules/layout/footer/footer.component.scss @@ -1,7 +1,7 @@ .footer { - width: 100%; - padding: 40px 100px; + padding: 40px 100px; + margin-top: 48px; background-color: var(--prime-act); color: white; display: flex; @@ -16,7 +16,7 @@ } display: flex; flex-wrap: wrap; - grid-gap: 20px; + grid-gap: 20px; &>div{ padding-bottom: 40px; } diff --git a/src/app/_modules/pages/page/page.component.ts b/src/app/_modules/pages/page/page.component.ts index d24be52..d988d75 100644 --- a/src/app/_modules/pages/page/page.component.ts +++ b/src/app/_modules/pages/page/page.component.ts @@ -67,7 +67,7 @@ export class PageComponent { 'children', 'sections.type', 'sections.groups.fields.value', - 'sections.objectables.groups.fields.value', + 'sections.objects.groups.fields.value', 'sidebars.groups.fields.value', 'sidebars.type', 'permissions', diff --git a/src/app/_modules/pages/sections/item/page-section.component.html b/src/app/_modules/pages/sections/item/page-section.component.html index 3fe3261..f1968c3 100644 --- a/src/app/_modules/pages/sections/item/page-section.component.html +++ b/src/app/_modules/pages/sections/item/page-section.component.html @@ -14,9 +14,10 @@ - + +

section {{type?.name}} is undefined

diff --git a/src/app/_modules/pages/sections/page-sections.module.ts b/src/app/_modules/pages/sections/page-sections.module.ts index ee36ffc..a702ae1 100644 --- a/src/app/_modules/pages/sections/page-sections.module.ts +++ b/src/app/_modules/pages/sections/page-sections.module.ts @@ -27,7 +27,7 @@ import {PageMenuComponent} from "@app/_modules/pages/sections/menu/page-menu.com import {ImageGroupSectionComponent} from "@app/_modules/pages/sections/types/basic/image-group/image-group-section.component"; import {MemberSectionItemComponent} from "@app/_modules/pages/sections/types/basic/member/item/member-section-item.component"; import {MemberSectionListComponent} from "@app/_modules/pages/sections/types/basic/member/list/member-section-list.component"; - +import {CardsSectionModule} from "@app/_modules/pages/sections/types/basic/cards/cards-section.module"; @NgModule({ imports: [ @@ -36,7 +36,8 @@ import {MemberSectionListComponent} from "@app/_modules/pages/sections/types/bas ReactiveFormsModule, ObjectsModule, SwiperModule, - WidjetModule + WidjetModule, + CardsSectionModule ], declarations: [ PageMenuComponent, @@ -59,7 +60,7 @@ import {MemberSectionListComponent} from "@app/_modules/pages/sections/types/bas ImageGroupSectionComponent, DocumentSectionComponent, MemberSectionItemComponent, - MemberSectionListComponent, + MemberSectionListComponent ], exports: [ PageSectionsComponent, diff --git a/src/app/_modules/pages/sections/types/basic/cards/cards-section.component.html b/src/app/_modules/pages/sections/types/basic/cards/cards-section.component.html new file mode 100644 index 0000000..5522854 --- /dev/null +++ b/src/app/_modules/pages/sections/types/basic/cards/cards-section.component.html @@ -0,0 +1,4 @@ +
+ +
+ diff --git a/src/app/_modules/pages/sections/types/basic/cards/cards-section.component.scss b/src/app/_modules/pages/sections/types/basic/cards/cards-section.component.scss new file mode 100644 index 0000000..469bf09 --- /dev/null +++ b/src/app/_modules/pages/sections/types/basic/cards/cards-section.component.scss @@ -0,0 +1,3 @@ +.add { + margin-bottom: 24px; +} diff --git a/src/app/_modules/pages/sections/types/basic/cards/cards-section.component.ts b/src/app/_modules/pages/sections/types/basic/cards/cards-section.component.ts new file mode 100644 index 0000000..45dcdf9 --- /dev/null +++ b/src/app/_modules/pages/sections/types/basic/cards/cards-section.component.ts @@ -0,0 +1,32 @@ +import {Component, Input} from '@angular/core'; +import {FormsService, ObjectsService} from "@app/_services"; + +@Component({ + selector: 'cards-section', + templateUrl: 'cards-section.component.html', + styleUrls: ['cards-section.component.scss'] +}) +export class CardsSectionComponent { + @Input() section: any; + + constructor(private objectsService: ObjectsService, private formsService: FormsService) { + } + + get type() { + return this.objectsService.getValue(this.section, 'cards-section-type'); + } + get cards() { + return this.section?.objects?.data; + } + + ngOnInit() { + } + + + add() { + let attach = {modelType: 'object', group: 'sections', modelId: this.section.id}; + this.formsService.createObject(this.type.name, {extraProps: {attach: attach}}); + } + +} + diff --git a/src/app/_modules/pages/sections/types/basic/cards/cards-section.module.ts b/src/app/_modules/pages/sections/types/basic/cards/cards-section.module.ts new file mode 100644 index 0000000..9ec40eb --- /dev/null +++ b/src/app/_modules/pages/sections/types/basic/cards/cards-section.module.ts @@ -0,0 +1,26 @@ +import {NgModule} from '@angular/core'; +import {CommonModule} from '@angular/common'; +import {CardsSectionComponent} from "@app/_modules/pages/sections/types/basic/cards/cards-section.component"; +import {CardsSectionItemsComponent} from "@app/_modules/pages/sections/types/basic/cards/items/cards-section-items.component"; +import {CardsSectionItemComponent} from "@app/_modules/pages/sections/types/basic/cards/items/item/cards-section-item.component"; +import {CardsItemPersonsComponent} from "@app/_modules/pages/sections/types/basic/cards/items/item/types/persons/cards-item-persons.component"; +import {CardsItemPartnersComponent} from "@app/_modules/pages/sections/types/basic/cards/items/item/types/partners/cards-item-partners.component"; + + +@NgModule({ + imports: [ + CommonModule + ], + declarations: [ + CardsSectionComponent, + CardsSectionItemsComponent, + CardsSectionItemComponent, + CardsItemPersonsComponent, + CardsItemPartnersComponent + ], + exports: [ + CardsSectionComponent + ] +}) +export class CardsSectionModule { +} diff --git a/src/app/_modules/pages/sections/types/basic/cards/items/cards-section-items.component.html b/src/app/_modules/pages/sections/types/basic/cards/items/cards-section-items.component.html new file mode 100644 index 0000000..87c8d2b --- /dev/null +++ b/src/app/_modules/pages/sections/types/basic/cards/items/cards-section-items.component.html @@ -0,0 +1,3 @@ +
+ +
diff --git a/src/app/_modules/pages/sections/types/basic/cards/items/cards-section-items.component.scss b/src/app/_modules/pages/sections/types/basic/cards/items/cards-section-items.component.scss new file mode 100644 index 0000000..8337d56 --- /dev/null +++ b/src/app/_modules/pages/sections/types/basic/cards/items/cards-section-items.component.scss @@ -0,0 +1,11 @@ +.items { + display: flex; + flex-direction: row; + align-items: stretch; + gap: 24px; + flex-wrap: wrap; + + cards-section-item { + width: 25%; + } +} diff --git a/src/app/_modules/pages/sections/types/basic/cards/items/cards-section-items.component.ts b/src/app/_modules/pages/sections/types/basic/cards/items/cards-section-items.component.ts new file mode 100644 index 0000000..41d4f43 --- /dev/null +++ b/src/app/_modules/pages/sections/types/basic/cards/items/cards-section-items.component.ts @@ -0,0 +1,20 @@ +import {Component, Input} from '@angular/core'; +import {ObjectsService} from "@app/_services"; + +@Component({ + selector: 'cards-section-items', + templateUrl: 'cards-section-items.component.html', + styleUrls: ['cards-section-items.component.scss'] +}) +export class CardsSectionItemsComponent { + @Input() cards = []; + @Input() type: any; + + constructor() { + } + + + ngOnInit() { + } +} + diff --git a/src/app/_modules/pages/sections/types/basic/cards/items/item/cards-section-item.component.html b/src/app/_modules/pages/sections/types/basic/cards/items/item/cards-section-item.component.html new file mode 100644 index 0000000..626c66f --- /dev/null +++ b/src/app/_modules/pages/sections/types/basic/cards/items/item/cards-section-item.component.html @@ -0,0 +1,5 @@ +
+ + +

{{type?.name}} is undefined

+
diff --git a/src/app/_modules/pages/sections/types/basic/cards/items/item/cards-section-item.component.scss b/src/app/_modules/pages/sections/types/basic/cards/items/item/cards-section-item.component.scss new file mode 100644 index 0000000..23b2875 --- /dev/null +++ b/src/app/_modules/pages/sections/types/basic/cards/items/item/cards-section-item.component.scss @@ -0,0 +1,5 @@ +.card { + height: 100%; + padding: 12px; + border: #dedede solid 1px; +} diff --git a/src/app/_modules/pages/sections/types/basic/cards/items/item/cards-section-item.component.ts b/src/app/_modules/pages/sections/types/basic/cards/items/item/cards-section-item.component.ts new file mode 100644 index 0000000..53340b4 --- /dev/null +++ b/src/app/_modules/pages/sections/types/basic/cards/items/item/cards-section-item.component.ts @@ -0,0 +1,24 @@ +import {Component, Input} from '@angular/core'; +import {FormsService, ObjectsService} from "@app/_services"; + +@Component({ + selector: 'cards-section-item', + templateUrl: 'cards-section-item.component.html', + styleUrls: ['cards-section-item.component.scss'] +}) +export class CardsSectionItemComponent { + @Input() card: any; + @Input() type: any; + + constructor(private objectsService: ObjectsService, private formsService: FormsService) { + } + + + ngOnInit() { + } + + edit() { + this.formsService.editObject(this.card.id); + } +} + diff --git a/src/app/_modules/pages/sections/types/basic/cards/items/item/types/partners/cards-item-partners.component.html b/src/app/_modules/pages/sections/types/basic/cards/items/item/types/partners/cards-item-partners.component.html new file mode 100644 index 0000000..9e183ab --- /dev/null +++ b/src/app/_modules/pages/sections/types/basic/cards/items/item/types/partners/cards-item-partners.component.html @@ -0,0 +1,3 @@ +
+ +
diff --git a/src/app/_modules/pages/sections/types/basic/cards/items/item/types/partners/cards-item-partners.component.scss b/src/app/_modules/pages/sections/types/basic/cards/items/item/types/partners/cards-item-partners.component.scss new file mode 100644 index 0000000..e0d978b --- /dev/null +++ b/src/app/_modules/pages/sections/types/basic/cards/items/item/types/partners/cards-item-partners.component.scss @@ -0,0 +1,5 @@ +.image { + img { + width: 100%; + } +} diff --git a/src/app/_modules/pages/sections/types/basic/cards/items/item/types/partners/cards-item-partners.component.ts b/src/app/_modules/pages/sections/types/basic/cards/items/item/types/partners/cards-item-partners.component.ts new file mode 100644 index 0000000..723ae2c --- /dev/null +++ b/src/app/_modules/pages/sections/types/basic/cards/items/item/types/partners/cards-item-partners.component.ts @@ -0,0 +1,26 @@ +import {Component, Input} from '@angular/core'; +import {ObjectsService} from "@app/_services"; + +@Component({ + selector: 'cards-item-partners', + templateUrl: 'cards-item-partners.component.html', + styleUrls: ['cards-item-partners.component.scss'] +}) +export class CardsItemPartnersComponent { + @Input() card: any; + + constructor(private objectsService: ObjectsService) { + } + + get image() { + return this.objectsService.getValue(this.card, 'image-required'); + } + get link() { + return this.objectsService.getValue(this.card, 'link-required'); + } + + + ngOnInit() { + } +} + diff --git a/src/app/_modules/pages/sections/types/basic/cards/items/item/types/persons/cards-item-persons.component.html b/src/app/_modules/pages/sections/types/basic/cards/items/item/types/persons/cards-item-persons.component.html new file mode 100644 index 0000000..434577e --- /dev/null +++ b/src/app/_modules/pages/sections/types/basic/cards/items/item/types/persons/cards-item-persons.component.html @@ -0,0 +1,8 @@ +
+ +
+
{{name}}
+
{{position}}
+
{{phone}}
+
{{email}}
+ diff --git a/src/app/_modules/pages/sections/types/basic/cards/items/item/types/persons/cards-item-persons.component.scss b/src/app/_modules/pages/sections/types/basic/cards/items/item/types/persons/cards-item-persons.component.scss new file mode 100644 index 0000000..e0d978b --- /dev/null +++ b/src/app/_modules/pages/sections/types/basic/cards/items/item/types/persons/cards-item-persons.component.scss @@ -0,0 +1,5 @@ +.image { + img { + width: 100%; + } +} diff --git a/src/app/_modules/pages/sections/types/basic/cards/items/item/types/persons/cards-item-persons.component.ts b/src/app/_modules/pages/sections/types/basic/cards/items/item/types/persons/cards-item-persons.component.ts new file mode 100644 index 0000000..d282462 --- /dev/null +++ b/src/app/_modules/pages/sections/types/basic/cards/items/item/types/persons/cards-item-persons.component.ts @@ -0,0 +1,34 @@ +import {Component, Input} from '@angular/core'; +import {ObjectsService} from "@app/_services"; + +@Component({ + selector: 'cards-item-persons', + templateUrl: 'cards-item-persons.component.html', + styleUrls: ['cards-item-persons.component.scss'] +}) +export class CardsItemPersonsComponent { + @Input() card: any; + + constructor(private objectsService: ObjectsService) { + } + + get image() { + return this.objectsService.getValue(this.card, 'image'); + } + get name() { + return this.objectsService.getValue(this.card, 'person-name'); + } + get position() { + return this.objectsService.getValue(this.card, 'person-position'); + } + get phone() { + return this.objectsService.getValue(this.card, 'contact-phone'); + } + get email() { + return this.objectsService.getValue(this.card, 'contact-email'); + } + + ngOnInit() { + } +} +