208 lines
9.2 KiB
HTML
208 lines
9.2 KiB
HTML
<div>
|
|
<form name="createQuestionsForm" novalidate>
|
|
<div class="create-form-wrapper">
|
|
<div loading-spinner if="state.dataLoading" centered="true" overlay="true"></div>
|
|
<div class="create-aqi__header">
|
|
<h3 id="modalLabel" class="create-aqi__page-title">{{'create.aqi.editQuestions.header' | i18n}}</h3>
|
|
</div>
|
|
|
|
<div class="create-aqi__body">
|
|
<div class="create-aqi__section col-sm-12">
|
|
<div class="col-sm-4">
|
|
<label class="label_control-wrap">
|
|
<span class="label__text_required"
|
|
field-name="questionSetName"
|
|
entity="aqi">
|
|
{{'create.aqi.editQuestions.questionSetName.label' | i18n}}
|
|
</span>
|
|
<input class="custom-input full-width"
|
|
field-name="questionSetName"
|
|
ng-model="questionSet.name"
|
|
entity="aqi"
|
|
maxlength="100"
|
|
required/>
|
|
</label>
|
|
</div>
|
|
<div class="col-sm-2">
|
|
<label class="label_control-wrap">
|
|
<span class="label__text"
|
|
field-name="company"
|
|
entity="aqi">
|
|
{{'common.label.company' | i18n}}
|
|
</span>
|
|
<selection selection-items="selections.companies"
|
|
selected-item="questionSet.company"
|
|
selection-callback="loadOrganizations(questionSet.company)"
|
|
title-text="{{'common.label.company' | i18n | uppercase}}"
|
|
label="name"
|
|
value="name"
|
|
field-name="company"
|
|
entity="aqi"
|
|
loading-flag="state.companiesLoading"
|
|
update-selected-item="true"
|
|
selection-filter="true"
|
|
selection-filter-placeholder-text="assignBlade.searchCompany"
|
|
typeahead-mode="state.tooManyCompanies"
|
|
typeahead-details="company as company.name for company in getList($viewValue)"
|
|
typeahead-get-list="getCompaniesByName(name)">
|
|
</selection>
|
|
</label>
|
|
</div>
|
|
<div class="col-sm-2">
|
|
<label class="label_control-wrap">
|
|
<span class="label__text"
|
|
field-name="organization"
|
|
entity="aqi">
|
|
{{'common.label.organization' | i18n}}
|
|
</span>
|
|
<selection selection-items="selections.organizations"
|
|
selected-item="questionSet.organization"
|
|
title-text="{{'common.label.organization' | i18n | uppercase}}"
|
|
label="name"
|
|
value="name"
|
|
field-name="organization"
|
|
entity="aqi"
|
|
update-selected-item="true"
|
|
loading-flag="state.organizationsLoading"
|
|
disabled-selection="!questionSet.company">
|
|
</selection>
|
|
</label>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="create-aqi__section col-sm-12">
|
|
<div class="create-aqi__add-question col-sm-4" ng-click="addNewQuestion()" ng-enter="addNewQuestion()" tabindex="0">
|
|
<i class="icon-plus"></i>
|
|
<span>{{'create.aqi.editQuestions.addNewQuestion' | i18n}}</span>
|
|
</div>
|
|
|
|
<div class="col-sm-10">
|
|
<span>{{'create.aqi.editQuestions.header' | i18n}}</span>
|
|
</div>
|
|
|
|
<div class="question-editor__question-list col-sm-10" ui-sortable="sortableOptions" ng-model="questionList">
|
|
<div class="question-editor__question-panel" ng-repeat="questionObj in questionList" ng-if="!questionObj.delete">
|
|
|
|
<div class="question-editor__question-panel-head" ng-click="openAction(questionObj)" ng-enter="openAction(questionObj)" tabindex="0">
|
|
<div class="question-editor__question-panel-head-sortable" prevent-click-event>
|
|
<div class="icon-dots"></div>
|
|
</div>
|
|
<div class="question-editor__question-panel-head-accordion">
|
|
<div ng-class="questionObj.isOpen ? 'icon-angle_up' : 'icon-angle_down'"></div>
|
|
</div>
|
|
<div class="question-editor__question-title">{{questionObj.textMap["default"]}}</div>
|
|
<label class="question-editor__checkbox-label question-editor__property-visible__width" ng-click="$event.stopPropagation()">
|
|
<input type="checkbox" ng-model="questionObj.isVisible" ng-click="$event.stopPropagation()" ng-checked="questionObj.isVisible"/>
|
|
{{'create.aqi.editQuestions.isVisible.label' | i18n}}
|
|
</label>
|
|
<button class="question-editor__delete-btn btn_no-fill" ng-if="!questionObj.isDefault" ng-click="deleteAction($event, questionObj)">
|
|
<i class="icon-cross"></i>{{'customization.globalMenu.action.delete' | i18n}}
|
|
</button>
|
|
</div>
|
|
|
|
<div class="question-editor__question-panel-body" ng-class="{active: questionObj.isOpen}"
|
|
ng-show="questionObj.isOpen">
|
|
<div>
|
|
|
|
<div>
|
|
<div class="question-editor__question-panel-body__locale label__text">{{ 'common.labels.languages' | i18n }}</div>
|
|
<div class="question-editor__question-panel-body__text">
|
|
<span class="label__text_required">{{ 'create.aqi.editQuestions.questionText.label' | i18n }}</span>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="question-editor__question-panel-body__label-row"
|
|
ng-init="locale = 'default';">
|
|
<div class="question-editor__question-panel-body__locale-dropdown">
|
|
<div class="dropdown-input full-width">
|
|
<button type="button" class="dropdown-input__button dropdown-toggle" disabled>
|
|
<span>{{supportedLocales[locale]}}</span>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
<div class="question-editor__question-panel-body__question-text">
|
|
<input type="text"
|
|
class="text-input full-width"
|
|
placeholder="{{'create.aqi.editQuestions.questionText.label' | i18n }}"
|
|
ng-model="questionObj.textMap[locale]"
|
|
ng-disabled="questionObj.isDefault"
|
|
required />
|
|
</div>
|
|
<div class="required-field-msg-box" ng-show="!questionObj.textMap[locale] && postValidate">{{'common.labels.nonEmpty' | i18n }}</div>
|
|
</div>
|
|
|
|
<div class="question-editor__question-panel-body__label-row"
|
|
ng-repeat="(locale, questionText) in questionObj.textMap" ng-if="locale != 'default'">
|
|
<div class="question-editor__question-panel-body__locale-dropdown">
|
|
<div class="dropdown-input full-width" dropdown>
|
|
<button type="button" class="dropdown-input__button dropdown-toggle" ng-disabled="questionObj.isDefault">
|
|
<span>{{supportedLocales[locale]}}</span>
|
|
</button>
|
|
<ul class="dropdown-menu full-width">
|
|
<li ng-repeat="(key, value) in supportedLocales"
|
|
ng-click="updateLabel(questionObj, locale, key)">
|
|
<div class="{{(locale == key) ? 'dropdown-item_selected' : 'dropdown-item'}}"
|
|
tabindex="0" role="menuitem">
|
|
{{value}}
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<div class="question-editor__question-panel-body__question-text">
|
|
<input type="text"
|
|
class="text-input full-width"
|
|
placeholder="{{'create.aqi.editQuestions.questionText.label' | i18n }}"
|
|
value="{{questionText}}"
|
|
ng-model="questionObj.textMap[locale]"
|
|
ng-disabled="questionObj.isDefault"
|
|
required />
|
|
</div>
|
|
<div class="question-editor__question-panel-body__label-close"
|
|
ng-click="removeLabel(questionObj, locale);" ng-show="!questionObj.isDefault"><i
|
|
class="fields-widget__icon icon-cross"></i></div>
|
|
<div class="required-field-msg-box" ng-show="!questionObj.textMap[locale] && postValidate">{{'common.labels.nonEmpty' | i18n }}</div>
|
|
</div>
|
|
<div>
|
|
<button class="btn_link" ng-click="addLabel(questionObj)" ng-hide="questionObj.isDefault">
|
|
<i class="icon-plus_circle" aria-hidden="true"></i> {{'create.aqi.editQuestions.additionalLanguages' | i18n}}
|
|
</button>
|
|
</div>
|
|
<div class="question-editor__question-panel-body__container">
|
|
<div class="question-editor__question-panel-body__weight col-sm-5">
|
|
<label class="label_control-wrap">
|
|
<span class="label__text_required"
|
|
field-name="questionWeight"
|
|
entity="aqi">
|
|
{{'create.aqi.editQuestions.weighting.label' | i18n}}
|
|
</span>
|
|
<input class="question-editor__question-panel-body__custom-input"
|
|
field-name="questionWeight" entity="aqi"
|
|
ng-model="questionObj.weight"
|
|
type="number" min="0.01" max="9.99" step="0.01"
|
|
ng-disabled="questionObj.isDefault" required/>
|
|
</label>
|
|
</div>
|
|
<div class="col-sm-6 question-editor__property-yes-desirable" ng-hide="questionObj.isDefault">
|
|
<label class="question-editor__checkbox-label">
|
|
<input type="checkbox" ng-model="questionObj.desirableAnswer" />
|
|
{{'create.aqi.editQuestions.yesDesirable.label' | i18n}}
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
<div class="create-ticket__action-panel">
|
|
<div class="pull-right">
|
|
<button type="submit" class="btn_primary create-ticket__action-btn" ng-click="onSaveClick()" ng-disabled="(createQuestionsForm.$invalid || state.dataLoading)">{{'common.button.save' | i18n}}</button>
|
|
<button type="button" class="btn_secondary action-panel__cancel-btn" ng-click="onCancelClick()" ng-disabled="state.dataLoading">{{'common.button.cancel' | i18n}}</button>
|
|
</div>
|
|
</div>
|
|
</div> |