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 "@memberjunction/ng-base-forms";
let MJAccessControlRuleFormComponent = class MJAccessControlRuleFormComponent extends BaseFormComponent {
    async ngOnInit() {
        await super.ngOnInit();
        this.initSections([
            { sectionKey: 'accessTarget', sectionName: 'Access Target', isExpanded: true },
            { sectionKey: 'granteePermissions', sectionName: 'Grantee & Permissions', isExpanded: true },
            { sectionKey: 'validityAdministration', sectionName: 'Validity & Administration', isExpanded: false },
            { sectionKey: 'systemMetadata', sectionName: 'System Metadata', isExpanded: false }
        ]);
    }
    static { this.ɵfac = /*@__PURE__*/ (() => { let ɵMJAccessControlRuleFormComponent_BaseFactory; return function MJAccessControlRuleFormComponent_Factory(__ngFactoryType__) { return (ɵMJAccessControlRuleFormComponent_BaseFactory || (ɵMJAccessControlRuleFormComponent_BaseFactory = i0.ɵɵgetInheritedFactory(MJAccessControlRuleFormComponent)))(__ngFactoryType__ || MJAccessControlRuleFormComponent); }; })(); }
    static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MJAccessControlRuleFormComponent, selectors: [["gen-mjaccesscontrolrule-form"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 18, vars: 62, consts: [[3, "Navigate", "DeleteRequested", "FavoriteToggled", "HistoryRequested", "ListManagementRequested", "Record", "FormComponent"], ["SectionKey", "accessTarget", "SectionName", "Access Target", "Icon", "fa fa-database", 3, "Form", "FormContext"], ["FieldName", "EntityID", "Type", "textbox", "LinkType", "Record", 3, "Record", "ShowLabel", "EditMode", "FormContext"], ["FieldName", "RecordID", "Type", "textbox", 3, "Record", "ShowLabel", "EditMode", "FormContext"], ["SectionKey", "granteePermissions", "SectionName", "Grantee & Permissions", "Icon", "fa fa-shield-alt", 3, "Form", "FormContext"], ["FieldName", "GranteeType", "Type", "select", 3, "Record", "ShowLabel", "EditMode", "FormContext"], ["FieldName", "GranteeID", "Type", "textbox", 3, "Record", "ShowLabel", "EditMode", "FormContext"], ["FieldName", "CanRead", "Type", "checkbox", 3, "Record", "ShowLabel", "EditMode", "FormContext"], ["FieldName", "CanCreate", "Type", "checkbox", 3, "Record", "ShowLabel", "EditMode", "FormContext"], ["FieldName", "CanUpdate", "Type", "checkbox", 3, "Record", "ShowLabel", "EditMode", "FormContext"], ["FieldName", "CanDelete", "Type", "checkbox", 3, "Record", "ShowLabel", "EditMode", "FormContext"], ["FieldName", "CanShare", "Type", "checkbox", 3, "Record", "ShowLabel", "EditMode", "FormContext"], ["SectionKey", "validityAdministration", "SectionName", "Validity & Administration", "Icon", "fa fa-calendar-alt", 3, "Form", "FormContext"], ["FieldName", "ExpiresAt", "Type", "datepicker", 3, "Record", "ShowLabel", "EditMode", "FormContext"], ["FieldName", "GrantedByUserID", "Type", "textbox", "LinkType", "Record", 3, "Record", "ShowLabel", "EditMode", "FormContext"], ["SectionKey", "systemMetadata", "SectionName", "System Metadata", "Icon", "fa fa-cog", 3, "Form", "FormContext"], ["FieldName", "__mj_CreatedAt", "Type", "textbox", 3, "Record", "ShowLabel", "EditMode", "FormContext"], ["FieldName", "__mj_UpdatedAt", "Type", "textbox", 3, "Record", "ShowLabel", "EditMode", "FormContext"]], template: function MJAccessControlRuleFormComponent_Template(rf, ctx) { if (rf & 1) {
            i0.ɵɵelementStart(0, "mj-record-form-container", 0);
            i0.ɵɵlistener("Navigate", function MJAccessControlRuleFormComponent_Template_mj_record_form_container_Navigate_0_listener($event) { return ctx.OnFormNavigate($event); })("DeleteRequested", function MJAccessControlRuleFormComponent_Template_mj_record_form_container_DeleteRequested_0_listener() { return ctx.OnDeleteRequested(); })("FavoriteToggled", function MJAccessControlRuleFormComponent_Template_mj_record_form_container_FavoriteToggled_0_listener() { return ctx.OnFavoriteToggled(); })("HistoryRequested", function MJAccessControlRuleFormComponent_Template_mj_record_form_container_HistoryRequested_0_listener() { return ctx.OnHistoryRequested(); })("ListManagementRequested", function MJAccessControlRuleFormComponent_Template_mj_record_form_container_ListManagementRequested_0_listener() { return ctx.OnListManagementRequested(); });
            i0.ɵɵelementStart(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)(8, "mj-form-field", 8)(9, "mj-form-field", 9)(10, "mj-form-field", 10)(11, "mj-form-field", 11);
            i0.ɵɵelementEnd();
            i0.ɵɵelementStart(12, "mj-collapsible-panel", 12);
            i0.ɵɵelement(13, "mj-form-field", 13)(14, "mj-form-field", 14);
            i0.ɵɵelementEnd();
            i0.ɵɵelementStart(15, "mj-collapsible-panel", 15);
            i0.ɵɵelement(16, "mj-form-field", 16)(17, "mj-form-field", 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("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);
            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);
        } }, dependencies: [i1.MjFormFieldComponent, i1.MjCollapsiblePanelComponent, i1.MjRecordFormContainerComponent], encapsulation: 2 }); }
};
MJAccessControlRuleFormComponent = __decorate([
    RegisterClass(BaseFormComponent, 'MJ: Access Control Rules') // Tell MemberJunction about this class
], MJAccessControlRuleFormComponent);
export { MJAccessControlRuleFormComponent };
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MJAccessControlRuleFormComponent, [{
        type: Component,
        args: [{ standalone: false, selector: 'gen-mjaccesscontrolrule-form', template: "<mj-record-form-container [Record]=\"record\" [FormComponent]=\"this\"\n    (Navigate)=\"OnFormNavigate($event)\"\n    (DeleteRequested)=\"OnDeleteRequested()\"\n    (FavoriteToggled)=\"OnFavoriteToggled()\"\n    (HistoryRequested)=\"OnHistoryRequested()\"\n    (ListManagementRequested)=\"OnListManagementRequested()\">\n\n    <!-- ========================================\n         FIELD PANELS\n         ======================================== -->\n    <!-- Access Target Section -->\n    <mj-collapsible-panel\n        SectionKey=\"accessTarget\"\n        SectionName=\"Access Target\"\n        Icon=\"fa fa-database\"\n        [Form]=\"this\"\n        [FormContext]=\"formContext\">\n        <mj-form-field \n            [Record]=\"record\"\n            [ShowLabel]=\"true\"\n            FieldName=\"EntityID\"\n            Type=\"textbox\"\n            [EditMode]=\"EditMode\"\n            [FormContext]=\"formContext\"\n            LinkType=\"Record\"\n        ></mj-form-field>\n        <mj-form-field \n            [Record]=\"record\"\n            [ShowLabel]=\"true\"\n            FieldName=\"RecordID\"\n            Type=\"textbox\"\n            [EditMode]=\"EditMode\"\n            [FormContext]=\"formContext\"\n        ></mj-form-field>\n\n    </mj-collapsible-panel>\n\n    <!-- Grantee & Permissions Section -->\n    <mj-collapsible-panel\n        SectionKey=\"granteePermissions\"\n        SectionName=\"Grantee & Permissions\"\n        Icon=\"fa fa-shield-alt\"\n        [Form]=\"this\"\n        [FormContext]=\"formContext\">\n        <mj-form-field \n            [Record]=\"record\"\n            [ShowLabel]=\"true\"\n            FieldName=\"GranteeType\"\n            Type=\"select\"\n            [EditMode]=\"EditMode\"\n            [FormContext]=\"formContext\"\n        ></mj-form-field>\n        <mj-form-field \n            [Record]=\"record\"\n            [ShowLabel]=\"true\"\n            FieldName=\"GranteeID\"\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=\"CanRead\"\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=\"CanCreate\"\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=\"CanUpdate\"\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=\"CanDelete\"\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=\"CanShare\"\n            Type=\"checkbox\"\n            [EditMode]=\"EditMode\"\n            [FormContext]=\"formContext\"\n        ></mj-form-field>\n\n    </mj-collapsible-panel>\n\n    <!-- Validity & Administration Section -->\n    <mj-collapsible-panel\n        SectionKey=\"validityAdministration\"\n        SectionName=\"Validity & Administration\"\n        Icon=\"fa fa-calendar-alt\"\n        [Form]=\"this\"\n        [FormContext]=\"formContext\">\n        <mj-form-field \n            [Record]=\"record\"\n            [ShowLabel]=\"true\"\n            FieldName=\"ExpiresAt\"\n            Type=\"datepicker\"\n            [EditMode]=\"EditMode\"\n            [FormContext]=\"formContext\"\n        ></mj-form-field>\n        <mj-form-field \n            [Record]=\"record\"\n            [ShowLabel]=\"true\"\n            FieldName=\"GrantedByUserID\"\n            Type=\"textbox\"\n            [EditMode]=\"EditMode\"\n            [FormContext]=\"formContext\"\n            LinkType=\"Record\"\n        ></mj-form-field>\n\n    </mj-collapsible-panel>\n\n    <!-- System Metadata Section -->\n    <mj-collapsible-panel\n        SectionKey=\"systemMetadata\"\n        SectionName=\"System Metadata\"\n        Icon=\"fa fa-cog\"\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</mj-record-form-container>\n        " }]
    }], null, null); })();
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJAccessControlRuleFormComponent, { className: "MJAccessControlRuleFormComponent", filePath: "src/lib/generated/Entities/MJAccessControlRule/mjaccesscontrolrule.form.component.ts", lineNumber: 12 }); })();
//# sourceMappingURL=mjaccesscontrolrule.form.component.js.map