OWL ITS + 탐지시스템(인터넷 진흥원)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
<div class="formModal">
    <div class="modal-header faded smaller">
        <div class="modal-title">
            <strong translate="customField.modifyCustomFields">사용자 정의 필드 수정</strong>
        </div>
        <button aria-label="Close" class="close" type="button" ng-click="fn.cancel()">
            <span aria-hidden="true"> &times;</span>
        </button>
    </div>
 
    <div class="modal-body">
        <form role="form" name="customFieldModifyForm">
            <div class="form-group">
                <label for="customFieldModifyForm1"><span translate="customField.customFieldName">사용자 정의 필드명</span>
                    <code class="highlighter-rouge">*</code></label>
                <input id="customFieldModifyForm1"
                       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-if="customFieldModifyForm.name.$error.maxlength" class="help-block form-text text-danger"
                       translate="common.upTo15Characters">
                    최대 15글자까지 입력할 수 있습니다.
                </small>
                <small translate="customField.limitNameToSpecialCharacters">사용자 정의 필드 명은 특수 문자를 입력할 수 없습니다.</small>
            </div>
 
            <div class="form-group">
                <label for="customFieldModifyForm2"><span translate="customField.fieldType">필드 유형</span><code
                        class="highlighter-rouge">*</code></label>
                <!--&nbsp;&nbsp; <label> <input type="checkbox" ng-model="vm.form.requiredData"> 필수 데이터 </label>-->
                <select id="customFieldModifyForm2" class="form-control" ng-model="vm.form.customFieldType"
                        ng-change="fn.changeCustomFieldType()">
                    <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-if="vm.form.customFieldType == 'SINGLE_SELECT' || vm.form.customFieldType == 'MULTI_SELECT'">
                <label ng-if="vm.form.customFieldType == 'SINGLE_SELECT'"><span
                        translate="customField.createSingleFieldList">단일 선택 필드 목록 만들기</span> <code
                        class="highlighter-rouge">*</code></label>
                <label ng-if="vm.form.customFieldType == 'MULTI_SELECT'"><span
                        translate="customField.createMultiFieldList">다중 선택 필드 목록 만들기</span> <code
                        class="highlighter-rouge">*</code></label>
 
                <div class="input-group" ng-if="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-if="vm.form.customFieldType == 'SINGLE_SELECT' || vm.form.customFieldType == 'MULTI_SELECT'">
<!--            <div ng-repeat="option in vm.form.options" ng-if="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="customFieldModifyForm3"><span translate="customField.defaultValue">기본값</span> </label>
                <input ng-if="vm.form.customFieldType == 'INPUT' || vm.form.customFieldType == 'SINGLE_SELECT' || vm.form.customFieldType == 'MULTI_SELECT'"
                       id="customFieldModifyForm3"
                       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-if="customFieldModifyForm.numberType.$error.pattern && vm.form.customFieldType == 'NUMBER'" 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="ipAddress"
                       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-if="customFieldModifyForm.ipAddress.$error.pattern && vm.form.customFieldType == 'IP_ADDRESS'" 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-if="customFieldModifyForm.email.$error.pattern && vm.form.customFieldType == 'EMAIL'" 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="100"
                       kr-input
                       ng-pattern="/(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/"
                       placeholder="홈페이지 주소 형식만 입력 가능합니다."
                       autocomplete="off"
                       ng-model="vm.form.defaultValue">
                <div ng-if="customFieldModifyForm.site.$error.pattern && vm.form.customFieldType == 'SITE'" class="help-block form-text text-danger"
                     translate="common.invalidSiteFormat">홈페이지 주소 형식이 맞지 않습니다.(http://로 시작하셔야합니다)
                </div>
 
                <input ng-if="vm.form.customFieldType == 'TEL'"
                       name="tel"
                       type="text"
                       maxlength="30"
                       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-if="customFieldModifyForm.tel.$error.pattern && vm.form.customFieldType == 'TEL'" class="help-block form-text text-danger"
                     translate="common.invalidTelFormat">전화번호 형식이 맞지 않습니다.
                </div>
 
<!--                <small ng-if="customFieldModifyForm.defaultValue.$error.maxlength"-->
<!--                       class="help-block form-text text-danger" translate="common.upTo100Characters">-->
<!--                    최대 100글자까지 입력할 수 있습니다.-->
<!--                </small>-->
                <small ng-if="vm.form.customFieldType == 'INPUT'" translate="common.upTo100Characters">
                    최대 100글자까지 입력할 수 있습니다.
                </small>
                <div class="help-block form-text text-danger" ng-if="vm.form.customFieldType == 'SINGLE_SELECT'"
                     translate="customField.selectSingleFieldListHashTag">
                    단일 선택 필드 목록에 있는 값을 기본적으로 선택하고 싶을 때는 해시태그를 사용해야합니다. ex) #대상값
                </div>
                <div class="help-block form-text text-danger" ng-if="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(customFieldModifyForm.$invalid) || $root.spinner) ? null : fn.formSubmit()"
                ng-disabled="fn.formCheck(customFieldModifyForm.$invalid)"
                ng-click="fn.formSubmit()" ng-if="$root.checkMngPermission('USER_PERMISSION_MNG_CUSTOME_FIELD')"><span translate="common.save">저장</span>
        </button>
    </div>
</div>