var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
};
import { Component } from '@angular/core';
import { RegisterClass } from '@memberjunction/global';
import { BaseFormComponent } from '@memberjunction/ng-base-forms';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
import * as i2 from "@memberjunction/ng-user-view-grid";
import * as i3 from "@memberjunction/ng-base-forms";
import * as i4 from "@memberjunction/ng-form-toolbar";
import * as i5 from "@memberjunction/ng-join-grid";
const _c0 = () => ["Name", "Status", "AdditionalAttributes"];
const _c1 = a0 => ({ CommunicationProviderID: a0 });
function CommunicationProviderFormComponent_div_17_Template(rf, ctx) { if (rf & 1) {
    const _r1 = i0.ɵɵgetCurrentView();
    i0.ɵɵelementStart(0, "div")(1, "mj-user-view-grid", 19);
    i0.ɵɵlistener("dataLoaded", function CommunicationProviderFormComponent_div_17_Template_mj_user_view_grid_dataLoaded_1_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.SetSectionRowCount("communicationLogs", $event.totalRowCount)); });
    i0.ɵɵelementEnd()();
} if (rf & 2) {
    const ctx_r1 = i0.ɵɵnextContext();
    i0.ɵɵadvance();
    i0.ɵɵproperty("Params", ctx_r1.BuildRelationshipViewParamsByEntityName("Communication Logs", "CommunicationProviderID"))("NewRecordValues", ctx_r1.NewRecordValues("Communication Logs"))("AllowLoad", ctx_r1.IsSectionExpanded("communicationLogs"))("EditMode", ctx_r1.GridEditMode());
} }
function CommunicationProviderFormComponent_div_19_Template(rf, ctx) { if (rf & 1) {
    i0.ɵɵelementStart(0, "div");
    i0.ɵɵelement(1, "mj-join-grid", 20);
    i0.ɵɵelementEnd();
} if (rf & 2) {
    const ctx_r1 = i0.ɵɵnextContext();
    i0.ɵɵadvance();
    i0.ɵɵproperty("ShowSaveButton", false)("ShowCancelButton", false)("EditMode", ctx_r1.GridEditMode())("JoinEntityExtraFilter", "CommunicationProviderID=" + ctx_r1.record.ID)("JoinEntityDisplayColumns", i0.ɵɵpureFunction0(6, _c0))("NewRecordDefaultValues", i0.ɵɵpureFunction1(7, _c1, ctx_r1.record.ID));
} }
let CommunicationProviderFormComponent = class CommunicationProviderFormComponent extends BaseFormComponent {
    async ngOnInit() {
        await super.ngOnInit();
        this.initSections([
            { sectionKey: 'providerDetails', sectionName: 'Provider Details', isExpanded: true },
            { sectionKey: 'operationalSettings', sectionName: 'Operational Settings', isExpanded: true },
            { sectionKey: 'advancedCapabilities', sectionName: 'Advanced Capabilities', isExpanded: false },
            { sectionKey: 'systemMetadata', sectionName: 'System Metadata', isExpanded: false },
            { sectionKey: 'communicationLogs', sectionName: 'Communication Logs', isExpanded: false },
            { sectionKey: 'messageTypes', sectionName: 'Message Types', isExpanded: false }
        ]);
    }
    static { this.ɵfac = /*@__PURE__*/ (() => { let ɵCommunicationProviderFormComponent_BaseFactory; return function CommunicationProviderFormComponent_Factory(t) { return (ɵCommunicationProviderFormComponent_BaseFactory || (ɵCommunicationProviderFormComponent_BaseFactory = i0.ɵɵgetInheritedFactory(CommunicationProviderFormComponent)))(t || CommunicationProviderFormComponent); }; })(); }
    static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CommunicationProviderFormComponent, selectors: [["gen-communicationprovider-form"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 20, vars: 62, consts: [[3, "record", "formComponent"], ["slot", "field-panels", "sectionKey", "providerDetails", "sectionName", "Provider Details", "icon", "fa fa-id-card", 3, "form", "formContext"], ["FieldName", "Name", "Type", "textarea", 3, "record", "ShowLabel", "EditMode", "formContext"], ["FieldName", "Description", "Type", "textarea", 3, "record", "ShowLabel", "EditMode", "formContext"], ["slot", "field-panels", "sectionKey", "operationalSettings", "sectionName", "Operational Settings", "icon", "fa fa-cog", 3, "form", "formContext"], ["FieldName", "Status", "Type", "dropdownlist", 3, "record", "ShowLabel", "EditMode", "formContext"], ["FieldName", "SupportsSending", "Type", "checkbox", 3, "record", "ShowLabel", "EditMode", "formContext"], ["FieldName", "SupportsReceiving", "Type", "checkbox", 3, "record", "ShowLabel", "EditMode", "formContext"], ["slot", "field-panels", "sectionKey", "advancedCapabilities", "sectionName", "Advanced Capabilities", "icon", "fa fa-cogs", 3, "form", "formContext"], ["FieldName", "SupportsScheduledSending", "Type", "checkbox", 3, "record", "ShowLabel", "EditMode", "formContext"], ["FieldName", "SupportsForwarding", "Type", "checkbox", 3, "record", "ShowLabel", "EditMode", "formContext"], ["FieldName", "SupportsReplying", "Type", "checkbox", 3, "record", "ShowLabel", "EditMode", "formContext"], ["FieldName", "SupportsDrafts", "Type", "checkbox", 3, "record", "ShowLabel", "EditMode", "formContext"], ["slot", "field-panels", "sectionKey", "systemMetadata", "sectionName", "System Metadata", "icon", "fa fa-database", 3, "form", "formContext"], ["FieldName", "__mj_CreatedAt", "Type", "textbox", 3, "record", "ShowLabel", "EditMode", "formContext"], ["FieldName", "__mj_UpdatedAt", "Type", "textbox", 3, "record", "ShowLabel", "EditMode", "formContext"], ["slot", "after-panels", "sectionKey", "communicationLogs", "sectionName", "Communication Logs", "icon", "fa fa-comment", "variant", "related-entity", 3, "form", "formContext", "badgeCount"], [4, "ngIf"], ["slot", "after-panels", "sectionKey", "messageTypes", "sectionName", "Message Types", "icon", "fa fa-comment", "variant", "related-entity", 3, "form", "formContext", "badgeCount"], [3, "dataLoaded", "Params", "NewRecordValues", "AllowLoad", "EditMode"], ["RowsEntityName", "Communication Base Message Types", "RowsEntityDisplayField", "Type", "RowsExtraFilter", "", "RowsEntityDataSource", "FullEntity", "RowsOrderBy", "Type", "RowsEntityDisplayName", "Base Type", "ColumnsMode", "Fields", "JoinEntityName", "Communication Provider Message Types", "JoinEntityRowForeignKey", "CommunicationBaseMessageTypeID", 3, "ShowSaveButton", "ShowCancelButton", "EditMode", "JoinEntityExtraFilter", "JoinEntityDisplayColumns", "NewRecordDefaultValues"]], template: function CommunicationProviderFormComponent_Template(rf, ctx) { if (rf & 1) {
            i0.ɵɵelementStart(0, "mj-record-form-container", 0)(1, "mj-collapsible-panel", 1);
            i0.ɵɵelement(2, "mj-form-field", 2)(3, "mj-form-field", 3);
            i0.ɵɵelementEnd();
            i0.ɵɵelementStart(4, "mj-collapsible-panel", 4);
            i0.ɵɵelement(5, "mj-form-field", 5)(6, "mj-form-field", 6)(7, "mj-form-field", 7);
            i0.ɵɵelementEnd();
            i0.ɵɵelementStart(8, "mj-collapsible-panel", 8);
            i0.ɵɵelement(9, "mj-form-field", 9)(10, "mj-form-field", 10)(11, "mj-form-field", 11)(12, "mj-form-field", 12);
            i0.ɵɵelementEnd();
            i0.ɵɵelementStart(13, "mj-collapsible-panel", 13);
            i0.ɵɵelement(14, "mj-form-field", 14)(15, "mj-form-field", 15);
            i0.ɵɵelementEnd();
            i0.ɵɵelementStart(16, "mj-collapsible-panel", 16);
            i0.ɵɵtemplate(17, CommunicationProviderFormComponent_div_17_Template, 2, 4, "div", 17);
            i0.ɵɵelementEnd();
            i0.ɵɵelementStart(18, "mj-collapsible-panel", 18);
            i0.ɵɵtemplate(19, CommunicationProviderFormComponent_div_19_Template, 2, 9, "div", 17);
            i0.ɵɵelementEnd()();
        } if (rf & 2) {
            i0.ɵɵproperty("record", ctx.record)("formComponent", ctx);
            i0.ɵɵadvance();
            i0.ɵɵproperty("form", ctx)("formContext", ctx.formContext);
            i0.ɵɵadvance();
            i0.ɵɵproperty("record", ctx.record)("ShowLabel", true)("EditMode", ctx.EditMode)("formContext", ctx.formContext);
            i0.ɵɵadvance();
            i0.ɵɵproperty("record", ctx.record)("ShowLabel", true)("EditMode", ctx.EditMode)("formContext", ctx.formContext);
            i0.ɵɵadvance();
            i0.ɵɵproperty("form", ctx)("formContext", ctx.formContext);
            i0.ɵɵadvance();
            i0.ɵɵproperty("record", ctx.record)("ShowLabel", true)("EditMode", ctx.EditMode)("formContext", ctx.formContext);
            i0.ɵɵadvance();
            i0.ɵɵproperty("record", ctx.record)("ShowLabel", true)("EditMode", ctx.EditMode)("formContext", ctx.formContext);
            i0.ɵɵadvance();
            i0.ɵɵproperty("record", ctx.record)("ShowLabel", true)("EditMode", ctx.EditMode)("formContext", ctx.formContext);
            i0.ɵɵadvance();
            i0.ɵɵproperty("form", ctx)("formContext", ctx.formContext);
            i0.ɵɵadvance();
            i0.ɵɵproperty("record", ctx.record)("ShowLabel", true)("EditMode", ctx.EditMode)("formContext", ctx.formContext);
            i0.ɵɵadvance();
            i0.ɵɵproperty("record", ctx.record)("ShowLabel", true)("EditMode", ctx.EditMode)("formContext", ctx.formContext);
            i0.ɵɵadvance();
            i0.ɵɵproperty("record", ctx.record)("ShowLabel", true)("EditMode", ctx.EditMode)("formContext", ctx.formContext);
            i0.ɵɵadvance();
            i0.ɵɵproperty("record", ctx.record)("ShowLabel", true)("EditMode", ctx.EditMode)("formContext", ctx.formContext);
            i0.ɵɵadvance();
            i0.ɵɵproperty("form", ctx)("formContext", ctx.formContext);
            i0.ɵɵadvance();
            i0.ɵɵproperty("record", ctx.record)("ShowLabel", true)("EditMode", ctx.EditMode)("formContext", ctx.formContext);
            i0.ɵɵadvance();
            i0.ɵɵproperty("record", ctx.record)("ShowLabel", true)("EditMode", ctx.EditMode)("formContext", ctx.formContext);
            i0.ɵɵadvance();
            i0.ɵɵproperty("form", ctx)("formContext", ctx.formContext)("badgeCount", ctx.GetSectionRowCount("communicationLogs"));
            i0.ɵɵadvance();
            i0.ɵɵproperty("ngIf", ctx.record.IsSaved);
            i0.ɵɵadvance();
            i0.ɵɵproperty("form", ctx)("formContext", ctx.formContext)("badgeCount", ctx.GetSectionRowCount("messageTypes"));
            i0.ɵɵadvance();
            i0.ɵɵproperty("ngIf", ctx.record.IsSaved);
        } }, dependencies: [i1.NgIf, i2.UserViewGridComponent, i3.MJFormField, i3.CollapsiblePanelComponent, i4.RecordFormContainerComponent, i5.JoinGridComponent], encapsulation: 2 }); }
};
CommunicationProviderFormComponent = __decorate([
    RegisterClass(BaseFormComponent, 'Communication Providers') // Tell MemberJunction about this class
], CommunicationProviderFormComponent);
export { CommunicationProviderFormComponent };
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CommunicationProviderFormComponent, [{
        type: Component,
        args: [{ selector: 'gen-communicationprovider-form', template: "<mj-record-form-container [record]=\"record\" [formComponent]=\"this\">\n\n    <!-- ========================================\n         FIELD PANELS\n         ======================================== -->\n    <!-- Provider Details Section -->\n    <mj-collapsible-panel slot=\"field-panels\"\n        sectionKey=\"providerDetails\"\n        sectionName=\"Provider Details\"\n        icon=\"fa fa-id-card\"\n        [form]=\"this\"\n        [formContext]=\"formContext\">\n        <mj-form-field \n            [record]=\"record\"\n            [ShowLabel]=\"true\"\n            FieldName=\"Name\"\n            Type=\"textarea\"\n            [EditMode]=\"EditMode\"\n            [formContext]=\"formContext\"\n        ></mj-form-field>\n        <mj-form-field \n            [record]=\"record\"\n            [ShowLabel]=\"true\"\n            FieldName=\"Description\"\n            Type=\"textarea\"\n            [EditMode]=\"EditMode\"\n            [formContext]=\"formContext\"\n        ></mj-form-field>\n\n    </mj-collapsible-panel>\n\n    <!-- Operational Settings Section -->\n    <mj-collapsible-panel slot=\"field-panels\"\n        sectionKey=\"operationalSettings\"\n        sectionName=\"Operational Settings\"\n        icon=\"fa fa-cog\"\n        [form]=\"this\"\n        [formContext]=\"formContext\">\n        <mj-form-field \n            [record]=\"record\"\n            [ShowLabel]=\"true\"\n            FieldName=\"Status\"\n            Type=\"dropdownlist\"\n            [EditMode]=\"EditMode\"\n            [formContext]=\"formContext\"\n        ></mj-form-field>\n        <mj-form-field \n            [record]=\"record\"\n            [ShowLabel]=\"true\"\n            FieldName=\"SupportsSending\"\n            Type=\"checkbox\"\n            [EditMode]=\"EditMode\"\n            [formContext]=\"formContext\"\n        ></mj-form-field>\n        <mj-form-field \n            [record]=\"record\"\n            [ShowLabel]=\"true\"\n            FieldName=\"SupportsReceiving\"\n            Type=\"checkbox\"\n            [EditMode]=\"EditMode\"\n            [formContext]=\"formContext\"\n        ></mj-form-field>\n\n    </mj-collapsible-panel>\n\n    <!-- Advanced Capabilities Section -->\n    <mj-collapsible-panel slot=\"field-panels\"\n        sectionKey=\"advancedCapabilities\"\n        sectionName=\"Advanced Capabilities\"\n        icon=\"fa fa-cogs\"\n        [form]=\"this\"\n        [formContext]=\"formContext\">\n        <mj-form-field \n            [record]=\"record\"\n            [ShowLabel]=\"true\"\n            FieldName=\"SupportsScheduledSending\"\n            Type=\"checkbox\"\n            [EditMode]=\"EditMode\"\n            [formContext]=\"formContext\"\n        ></mj-form-field>\n        <mj-form-field \n            [record]=\"record\"\n            [ShowLabel]=\"true\"\n            FieldName=\"SupportsForwarding\"\n            Type=\"checkbox\"\n            [EditMode]=\"EditMode\"\n            [formContext]=\"formContext\"\n        ></mj-form-field>\n        <mj-form-field \n            [record]=\"record\"\n            [ShowLabel]=\"true\"\n            FieldName=\"SupportsReplying\"\n            Type=\"checkbox\"\n            [EditMode]=\"EditMode\"\n            [formContext]=\"formContext\"\n        ></mj-form-field>\n        <mj-form-field \n            [record]=\"record\"\n            [ShowLabel]=\"true\"\n            FieldName=\"SupportsDrafts\"\n            Type=\"checkbox\"\n            [EditMode]=\"EditMode\"\n            [formContext]=\"formContext\"\n        ></mj-form-field>\n\n    </mj-collapsible-panel>\n\n    <!-- System Metadata Section -->\n    <mj-collapsible-panel slot=\"field-panels\"\n        sectionKey=\"systemMetadata\"\n        sectionName=\"System Metadata\"\n        icon=\"fa fa-database\"\n        [form]=\"this\"\n        [formContext]=\"formContext\">\n        <mj-form-field \n            [record]=\"record\"\n            [ShowLabel]=\"true\"\n            FieldName=\"__mj_CreatedAt\"\n            Type=\"textbox\"\n            [EditMode]=\"EditMode\"\n            [formContext]=\"formContext\"\n        ></mj-form-field>\n        <mj-form-field \n            [record]=\"record\"\n            [ShowLabel]=\"true\"\n            FieldName=\"__mj_UpdatedAt\"\n            Type=\"textbox\"\n            [EditMode]=\"EditMode\"\n            [formContext]=\"formContext\"\n        ></mj-form-field>\n\n    </mj-collapsible-panel>\n    <!-- ========================================\n         RELATED ENTITY PANELS - AFTER\n         ======================================== -->\n\n    <!-- Communication Logs Section -->\n    <mj-collapsible-panel slot=\"after-panels\"\n        sectionKey=\"communicationLogs\"\n        sectionName=\"Communication Logs\"\n        icon=\"fa fa-comment\"\n        variant=\"related-entity\"\n        [form]=\"this\"\n        [formContext]=\"formContext\"\n        [badgeCount]=\"GetSectionRowCount('communicationLogs')\">\n        <div *ngIf=\"record.IsSaved\">\n            <mj-user-view-grid\n                [Params]=\"BuildRelationshipViewParamsByEntityName('Communication Logs','CommunicationProviderID')\"\n                [NewRecordValues]=\"NewRecordValues('Communication Logs')\"\n                [AllowLoad]=\"IsSectionExpanded('communicationLogs')\"\n                [EditMode]=\"GridEditMode()\"\n                (dataLoaded)=\"SetSectionRowCount('communicationLogs', $event.totalRowCount)\"\n                >\n            </mj-user-view-grid>\n        </div>\n    </mj-collapsible-panel>\n\n    <!-- Message Types Section -->\n    <mj-collapsible-panel slot=\"after-panels\"\n        sectionKey=\"messageTypes\"\n        sectionName=\"Message Types\"\n        icon=\"fa fa-comment\"\n        variant=\"related-entity\"\n        [form]=\"this\"\n        [formContext]=\"formContext\"\n        [badgeCount]=\"GetSectionRowCount('messageTypes')\">\n        <div *ngIf=\"record.IsSaved\">\n            <mj-join-grid\n                [ShowSaveButton]=\"false\"\n                [ShowCancelButton]=\"false\"\n                [EditMode]=\"GridEditMode()\"\n                RowsEntityName=\"Communication Base Message Types\"\n                RowsEntityDisplayField=\"Type\"\n                RowsExtraFilter=\"\"\n                RowsEntityDataSource=\"FullEntity\"\n                RowsOrderBy=\"Type\"\n                RowsEntityDisplayName=\"Base Type\"\n                ColumnsMode=\"Fields\"\n                JoinEntityName=\"Communication Provider Message Types\"\n                JoinEntityRowForeignKey=\"CommunicationBaseMessageTypeID\"\n                [JoinEntityExtraFilter]=\"'CommunicationProviderID=' + record.ID\"\n                [JoinEntityDisplayColumns]=\"['Name','Status','AdditionalAttributes']\"\n                [NewRecordDefaultValues]=\"{CommunicationProviderID: record.ID}\"\n            >\n            </mj-join-grid>\n            \n        </div>\n    </mj-collapsible-panel>\n</mj-record-form-container>\n        " }]
    }], null, null); })();
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CommunicationProviderFormComponent, { className: "CommunicationProviderFormComponent", filePath: "src/lib/generated/Entities/CommunicationProvider/communicationprovider.form.component.ts", lineNumber: 13 }); })();
export function LoadCommunicationProviderFormComponent() {
    // does nothing, but called to prevent tree-shaking from eliminating this component from the build
}
//# sourceMappingURL=communicationprovider.form.component.js.map