<div class="formModal">
|
<div class="modal-header faded smaller">
|
<div class="modal-title">
|
<strong translate="customField.createCustomField">사용자 정의 필드 만들기</strong>
|
</div>
|
<button aria-label="Close" class="close" type="button" ng-click="fn.cancel()">
|
<span aria-hidden="true"> ×</span>
|
</button>
|
</div>
|
|
<div class="modal-body">
|
<form role="form" name="customFieldAddForm">
|
<div class="form-group">
|
<label for="customFieldAddForm1"><span translate="customField.customFieldName">사용자 정의 필드 명</span> <code
|
class="highlighter-rouge">*</code></label>
|
<input id="customFieldAddForm1"
|
name="name"
|
type="text"
|
class="form-control"
|
autofocus
|
kr-input
|
autocomplete="off"
|
ng-model="vm.form.name"
|
maxlength="15"
|
ng-maxlength="15"
|
input-regex="[^a-zA-Z0-9 가-힣ㄱ-ㅎㅏ-ㅣ\u318D\u119E\u11A2\u2022\u2025a\u00B7\uFE55]"
|
required>
|
<small ng-show="customFieldAddForm.name.$error.maxlength" translate="common.upTo15Characters">
|
최대 15글자까지 입력할 수 있습니다.
|
</small>
|
<small translate="customField.limitNameToSpecialCharacters">사용자 정의 필드 명은 특수 문자를 입력할 수 없습니다.</small>
|
</div>
|
|
<div class="form-group">
|
<label for="customFieldAddForm2"><span translate="customField.fieldType">필드 유형</span> <code
|
class="highlighter-rouge">*</code></label>
|
<!-- <label for="customFieldAddForm2"> <input type="checkbox" ng-model="vm.form.requiredData"> 필수 데이터 </label>-->
|
<select id="customFieldAddForm2" class="form-control" ng-model="vm.form.customFieldType"
|
ng-change="fn.changeFieldType()">
|
<option value="INPUT" translate="common.stringField">문자열 필드</option>
|
<option value="SINGLE_SELECT" translate="common.singleSelectionField">단일 선택 필드</option>
|
<option value="MULTI_SELECT" translate="common.multipleSelectionField">다중 선택 필드</option>
|
<option value="NUMBER" translate="common.numberField">숫자 필드</option>
|
<option value="DATETIME" translate="common.datetimeField">날짜 필드</option>
|
<option value="IP_ADDRESS" translate="common.ipAddressField">IP 주소 필드</option>
|
<option value="EMAIL" translate="common.emailField">이메일 필드</option>
|
<option value="SITE" translate="common.siteField">홈페이지 주소 필드</option>
|
<option value="TEL" translate="common.telField">전화번호 필드</option>
|
</select>
|
<div class="mt-3">
|
<span class="custom-detail-label">필수 데이터</span>
|
<label class='switch'><input type='checkbox' ng-model="vm.form.requiredData">
|
<span class='slider round'></span>
|
</label>
|
</div>
|
</div>
|
|
<div class="form-group" ng-show="vm.form.customFieldType == 'SINGLE_SELECT' || vm.form.customFieldType == 'MULTI_SELECT'">
|
<label ng-show="vm.form.customFieldType == 'SINGLE_SELECT'"><span
|
translate="customField.createSingleFieldList">단일 선택 필드 목록 만들기</span> <code
|
class="highlighter-rouge">*</code></label>
|
<label ng-show="vm.form.customFieldType == 'MULTI_SELECT'"><span
|
translate="customField.createMultiFieldList">다중 선택 필드 목록 만들기</span> <code
|
class="highlighter-rouge">*</code></label>
|
|
<div class="input-group" ng-show="vm.form.customFieldType == 'SINGLE_SELECT' || vm.form.customFieldType == 'MULTI_SELECT'">
|
<input id="optionAdd"
|
type="text"
|
name="options"
|
class="form-control"
|
maxlength="15"
|
kr-input
|
ng-model="vm.form.optionText"
|
autocomplete="off">
|
<div class="input-group-prepend">
|
<button type="button" class="btn btn-secondary" ng-click="fn.addOption()"><span
|
translate="common.add">추가</span></button>
|
</div>
|
</div>
|
<small translate="common.upTo15Characters">
|
목록 값은 최대 15글자까지 입력할 수 있습니다.
|
</small>
|
</div>
|
|
<div ng-repeat="option in vm.form.options" ng-show="vm.form.customFieldType != 'INPUT'">
|
<span class="select3-selection__choice">
|
<span>{{option}}</span>
|
<span class="select3-selection__choice__remove" ng-click="fn.removeOption($index)">×</span>
|
</span>
|
</div>
|
|
<div class="form-group">
|
<label for="customFieldAddForm3"><span translate="customField.defaultValue">기본값</span> </label>
|
<input ng-if="vm.form.customFieldType == 'INPUT' || vm.form.customFieldType == 'SINGLE_SELECT' || vm.form.customFieldType == 'MULTI_SELECT'"
|
id="customFieldAddForm3"
|
type="text"
|
name="defaultValue"
|
class="form-control"
|
ng-model="vm.form.defaultValue"
|
maxlength="100"
|
kr-input
|
ng-maxlength="100"
|
autocomplete="off">
|
|
|
<input ng-if="vm.form.customFieldType == 'NUMBER'"
|
name="numberType"
|
type="text"
|
class="form-control"
|
kr-input
|
ng-pattern="/^[0-9]*$/"
|
placeholder="숫자만 입력 가능합니다."
|
autocomplete="off"
|
ng-model="vm.form.defaultValue">
|
<div ng-show="customFieldAddForm.numberType.$error.pattern" class="help-block form-text text-danger"
|
translate="common.invalidNumberFormat">숫자만 입력 가능합니다.
|
</div>
|
|
<input ng-if="vm.form.customFieldType == 'DATETIME'"
|
name="dateTime"
|
class="form-control input-readonly"
|
placeholder="{{'issue.clickToSelectDate' | translate}}"
|
ng-model="vm.form.defaultValue"
|
modal-form-auto-scroll
|
range-type="singleDate"
|
date-range-picker>
|
<div class="row">
|
<div class="col-xs-12">
|
<div id="createdWidget" class="bootstrap-datepicker "></div>
|
</div>
|
</div>
|
|
<input ng-if="vm.form.customFieldType == 'IP_ADDRESS'"
|
name="ipAdress"
|
type="text"
|
class="form-control"
|
kr-input
|
ng-pattern="/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/"
|
placeholder="IP 주소 형식만 입력 가능합니다."
|
autocomplete="off"
|
ng-model="vm.form.defaultValue">
|
<div ng-show="customFieldAddForm.ipAdress.$error.pattern" class="help-block form-text text-danger"
|
translate="common.invalidipAdressFormat">IP주소 형식이 맞지 않습니다.
|
</div>
|
|
<input ng-if="vm.form.customFieldType == 'EMAIL'"
|
name="email"
|
type="email"
|
class="form-control"
|
maxlength="30"
|
kr-input
|
ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/"
|
placeholder="이메일 형식만 입력 가능합니다."
|
autocomplete="off"
|
ng-model="vm.form.defaultValue">
|
<div ng-show="customFieldAddForm.email.$error.pattern" class="help-block form-text text-danger"
|
translate="common.invalidEmailFormat">이메일 형식이 맞지 않습니다.
|
</div>
|
|
<input ng-if="vm.form.customFieldType == 'SITE'"
|
name="site"
|
type="text"
|
class="form-control"
|
maxlength="30"
|
kr-input
|
ng-pattern="/((http|https):\/\/)?(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/"
|
placeholder="홈페이지 주소 형식만 입력 가능합니다."
|
autocomplete="off"
|
ng-model="vm.form.defaultValue">
|
<div ng-show="customFieldAddForm.site.$error.pattern" class="help-block form-text text-danger"
|
translate="common.invalidSiteFormat">홈페이지 주소 형식이 맞지 않습니다.(http://로 시작하셔야합니다)
|
</div>
|
|
|
<input ng-if="vm.form.customFieldType == 'TEL'"
|
name="tel"
|
type="text"
|
class="form-control"
|
kr-input
|
ng-pattern="/^\d{2,3}-\d{3,4}-\d{4}$/"
|
placeholder="연락처 형식만 입력 가능합니다."
|
autocomplete="off"
|
ng-model="vm.form.defaultValue">
|
<div ng-show="customFieldAddForm.tel.$error.pattern" class="help-block form-text text-danger"
|
translate="common.invalidTelFormat">전화번호 형식이 맞지 않습니다.
|
</div>
|
|
<small ng-show="vm.form.customFieldType == 'INPUT'" translate="common.upTo100Characters">
|
최대 100글자까지 입력할 수 있습니다.
|
</small>
|
|
<div class="help-block form-text text-danger" ng-show="vm.form.customFieldType == 'SINGLE_SELECT'"
|
translate="customField.selectSingleFieldListHashTag">
|
단일 선택 필드 목록에 있는 값을 기본적으로 선택하고 싶을 때는 해시태그를 사용해야합니다. ex) #대상값
|
</div>
|
<div class="help-block form-text text-danger" ng-show="vm.form.customFieldType == 'MULTI_SELECT'"
|
translate="customField.selectMultiFieldListHashTag">
|
다중 선택 필드 목록에 있는 값을 기본적으로 선택하고 싶을 때는 해시태그를 사용해야합니다. ex) #대상값#대상값
|
</div>
|
</div>
|
|
</form>
|
</div>
|
|
<div class="modal-footer buttons-on-right">
|
<button type="button" class="btn btn-md btn-grey" ng-click="fn.cancel()"><span
|
translate="common.cancel">취소</span></button>
|
<button type="button" class="btn btn-md btn-primary bold"
|
js-short-cut
|
js-short-cut-action="(fn.formCheck(customFieldAddForm.$invalid) || $root.spinner) ? null : fn.formSubmit()"
|
ng-disabled="fn.formCheck(customFieldAddForm.$invalid)"
|
ng-click="fn.formSubmit()"><span translate="common.save">저장</span>
|
</button>
|
</div>
|
</div>
|