<page-header title="'Edit Custom Template'" breadcrumbs="[{label:'Custom templates', link:'docker.templates.custom'}, $ctrl.formValues.Title]" reload="true"> </page-header>

<div class="row" ng-if="$ctrl.formValues">
  <div class="col-sm-12">
    <rd-widget>
      <rd-widget-body>
        <form class="form-horizontal" name="customTemplateForm">
          <custom-template-common-fields form-values="$ctrl.formValues" show-platform-field="true" show-type-field="true"></custom-template-common-fields>

          <!-- web-editor -->
          <web-editor-form
            identifier="custom-template-creation-editor"
            value="$ctrl.formValues.FileContent"
            on-change="($ctrl.editorUpdate)"
            ng-required="true"
            yml="true"
            placeholder="# Define or paste the content of your docker compose file here"
          >
            <editor-description>
              <span class="col-sm-12 text-muted">
                You can get more information about Compose file format in the
                <a href="https://docs.docker.com/compose/compose-file/" target="_blank"> official documentation </a>
                .
              </span>
            </editor-description>
          </web-editor-form>
          <!-- !web-editor -->

          <div class="form-group" ng-if="!$ctrl.state.isTemplateValid">
            <div class="col-sm-12">
              <div class="small text-warning">
                <pr-icon icon="'alert-triangle'" feather="true" class-name="space-right"></pr-icon>
                Template is invalid.
              </div>
            </div>
          </div>

          <custom-templates-variables-definition-field
            ng-if="$ctrl.isTemplateVariablesEnabled"
            value="$ctrl.formValues.Variables"
            on-change="($ctrl.onVariablesChange)"
            is-variables-names-from-parent="true"
          ></custom-templates-variables-definition-field>

          <por-access-control-form form-data="$ctrl.formValues.AccessControlData" resource-control="$ctrl.formValues.ResourceControl"></por-access-control-form>

          <div class="col-sm-12 form-section-title"> Actions </div>
          <div class="form-group">
            <div class="col-sm-12">
              <button
                type="button"
                class="btn btn-primary btn-sm !ml-0"
                ng-disabled="$ctrl.actionInProgress || customTemplateForm.$invalid
                  || !$ctrl.formValues.Title
                  || !$ctrl.formValues.FileContent
                  || !$ctrl.state.isTemplateValid
                  "
                ng-click="$ctrl.submitAction()"
                button-spinner="$ctrl.actionInProgress"
              >
                <span ng-hide="$ctrl.actionInProgress">Update the template</span>
                <span ng-show="$ctrl.actionInProgress">Update in progress...</span>
              </button>
              <span class="text-danger space-left" ng-if="$ctrl.state.formValidationError">
                {{ $ctrl.state.formValidationError }}
              </span>
            </div>
          </div>
        </form>
      </rd-widget-body>
    </rd-widget>
  </div>
</div>
