|
@@ -26,20 +26,39 @@ $fields = [
|
|
|
]
|
|
|
];
|
|
|
|
|
|
-$customFields = [
|
|
|
- [
|
|
|
- ":::Anxiety disorder|BPH|carpal tunnel|CHF|Degernative Disc Disorder|Fibromyalgia",
|
|
|
- ],
|
|
|
- [
|
|
|
- ":::Hard of Hearing|Hearing Impairment|Lupus|Multiple Falls|Multiple kidney stones|Multiple Rib Fractures",
|
|
|
- ],
|
|
|
- [
|
|
|
- ":::Neuropathy|Obesity|Obstructive Sleep Apnea|Primary immunodeficiency diso|pulmonary hypertension|Restless Leg Syndrome",
|
|
|
- ],
|
|
|
- [
|
|
|
- ":::Rhinitis|Russell Silver Syndrome|transverse myelitis|Vertigo",
|
|
|
- ]
|
|
|
-];
|
|
|
+$customFields = [];
|
|
|
+
|
|
|
+if($section) {
|
|
|
+ $customItems = $section->sectionTemplate->customItems;
|
|
|
+ $perColumn = floor(count($customItems) / 4);
|
|
|
+ if($perColumn < 5) $perColumn = 5;
|
|
|
+ $inColumn = 0;
|
|
|
+ foreach ($customItems as $customItem) {
|
|
|
+ if(!isset($customFields[$inColumn])) $customFields[$inColumn] = [];
|
|
|
+ $customFields[$inColumn][] = $customItem->label;
|
|
|
+ if(count($customFields[$inColumn]) >= $perColumn) {
|
|
|
+ $inColumn++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for ($i=0; $i<count($customFields); $i++) {
|
|
|
+ $customFields[$i] = [':::' . implode("|", $customFields[$i])];
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+//$customFields = [
|
|
|
+// [
|
|
|
+// ":::Anxiety disorder|BPH|carpal tunnel|CHF|Degernative Disc Disorder|Fibromyalgia",
|
|
|
+// ],
|
|
|
+// [
|
|
|
+// ":::Hard of Hearing|Hearing Impairment|Lupus|Multiple Falls|Multiple kidney stones|Multiple Rib Fractures",
|
|
|
+// ],
|
|
|
+// [
|
|
|
+// ":::Neuropathy|Obesity|Obstructive Sleep Apnea|Primary immunodeficiency diso|pulmonary hypertension|Restless Leg Syndrome",
|
|
|
+// ],
|
|
|
+// [
|
|
|
+// ":::Rhinitis|Russell Silver Syndrome|transverse myelitis|Vertigo",
|
|
|
+// ]
|
|
|
+//];
|
|
|
|
|
|
$contentData = false;
|
|
|
if($section){
|
|
@@ -158,56 +177,81 @@ $formID = rand(0, 100000);
|
|
|
@endfor
|
|
|
</div>
|
|
|
|
|
|
- <div class="font-weight-bold mb-2">Custom Items</div>
|
|
|
+ <div class="row border-top pt-3">
|
|
|
+ <div class="col-12">
|
|
|
+ <div class="d-flex align-items-center mb-2">
|
|
|
+ <span class="font-weight-bold">Custom Items</span>
|
|
|
+ <span class="mx-2 text-secondary">|</span>
|
|
|
+ <div moe>
|
|
|
+ <a href="#" start show>Add</a>
|
|
|
+ <div url="/api/sectionTemplateCustomItem/create">
|
|
|
+ <div class="mb-2">
|
|
|
+ <input type="text" placeholder="Label" class="form-control form-control-sm label_new_custom_item">
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <button type="button" class="btn btn-sm btn-primary mr-1"
|
|
|
+ onclick="return saveCustomItem_{{ $formID }}($(this).closest('[moe]'))">Submit</button>
|
|
|
+ <button type="button" class="btn btn-sm btn-default border"
|
|
|
+ onclick="return cancelCustomItem_{{ $formID }}()">Cancel</button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
|
|
|
- <div class="row">
|
|
|
- @for ($i = 0; $i < count($customFields); $i++)
|
|
|
- <div class="col-md-3">
|
|
|
- @for($j = 0; $j < count($customFields[$i]); $j++)
|
|
|
- <?php
|
|
|
- $parts = explode(":::", $customFields[$i][$j]);
|
|
|
- $head = 'custom';
|
|
|
- if(!empty($parts[0])) $head = $parts[0];
|
|
|
- $values = explode("|", $parts[1]);
|
|
|
- ?>
|
|
|
- <div class="mb-3">
|
|
|
- @if($head !== 'custom')
|
|
|
- <div class="font-weight-bold mb-2">{{ $head }}</div>
|
|
|
- @endif
|
|
|
- @for($k = 0; $k < count($values); $k++)
|
|
|
- <?php
|
|
|
- $fName = $head . '_' . sanitize_field_name($values[$k]);
|
|
|
- ?>
|
|
|
- <label class="d-flex align-items-center mb-1">
|
|
|
- <input type="checkbox" name="{{ $fName }}" class="m-0"
|
|
|
- onchange="onItemSelected_{{ $formID }}(this)"
|
|
|
- {{ $contentData[$fName] ? 'checked' : '' }}>
|
|
|
- <span class="mx-2">{{ $values[$k] }}</span>
|
|
|
- <div moe>
|
|
|
- <a href="#" start show>
|
|
|
- <i class="<?= trim(@$contentData[$fName . '__comments']) === '' ? 'far' : 'fas' ?> <?= $contentData[$fName] ? '' : 'd-none' ?> fa-comment"></i>
|
|
|
- </a>
|
|
|
- <div url="/nop">
|
|
|
- <div class="mb-2">
|
|
|
+ @if($customFields && count($customFields))
|
|
|
+
|
|
|
+ <div class="row">
|
|
|
+ @for ($i = 0; $i < count($customFields); $i++)
|
|
|
+ <div class="col-md-3">
|
|
|
+ @for($j = 0; $j < count($customFields[$i]); $j++)
|
|
|
+ <?php
|
|
|
+ $parts = explode(":::", $customFields[$i][$j]);
|
|
|
+ $head = 'custom';
|
|
|
+ if(!empty($parts[0])) $head = $parts[0];
|
|
|
+ $values = explode("|", $parts[1]);
|
|
|
+ ?>
|
|
|
+ <div class="mb-3">
|
|
|
+ @if($head !== 'custom')
|
|
|
+ <div class="font-weight-bold mb-2">{{ $head }}</div>
|
|
|
+ @endif
|
|
|
+ @for($k = 0; $k < count($values); $k++)
|
|
|
+ <?php
|
|
|
+ $fName = $head . '_' . sanitize_field_name($values[$k]);
|
|
|
+ ?>
|
|
|
+ <label class="d-flex align-items-center mb-1">
|
|
|
+ <input type="checkbox" name="{{ $fName }}" class="m-0"
|
|
|
+ onchange="onItemSelected_{{ $formID }}(this)"
|
|
|
+ {{ $contentData[$fName] ? 'checked' : '' }}>
|
|
|
+ <span class="mx-2">{{ $values[$k] }}</span>
|
|
|
+ <div moe>
|
|
|
+ <a href="#" start show>
|
|
|
+ <i class="<?= trim(@$contentData[$fName . '__comments']) === '' ? 'far' : 'fas' ?> <?= $contentData[$fName] ? '' : 'd-none' ?> fa-comment"></i>
|
|
|
+ </a>
|
|
|
+ <div url="/nop">
|
|
|
+ <div class="mb-2">
|
|
|
<textarea name="{{ $fName }}__comments"
|
|
|
onchange="onCommentChange_{{ $formID }}(this)"
|
|
|
onkeyup="onCommentChange_{{ $formID }}(this)"
|
|
|
onpaste="onCommentChange_{{ $formID }}(this)"
|
|
|
class="form-control form-control-sm ns-custom-comment"
|
|
|
>{{ @$contentData[$fName . '__comments'] }}</textarea>
|
|
|
- </div>
|
|
|
- <div class="">
|
|
|
- <button type="button" class="btn btn-sm btn-primary" cancel>Close
|
|
|
- </button>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ </div>
|
|
|
+ <div class="">
|
|
|
+ <button type="button" class="btn btn-sm btn-primary" cancel>Close
|
|
|
+ </button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </label>
|
|
|
+ @endfor
|
|
|
</div>
|
|
|
- </label>
|
|
|
- @endfor
|
|
|
- </div>
|
|
|
- @endfor
|
|
|
- </div>
|
|
|
- @endfor
|
|
|
+ @endfor
|
|
|
+ </div>
|
|
|
+ @endfor
|
|
|
+ </div>
|
|
|
+
|
|
|
+ @endif
|
|
|
+ </div>
|
|
|
</div>
|
|
|
|
|
|
<div class="row mb-3">
|
|
@@ -254,4 +298,22 @@ $formID = rand(0, 100000);
|
|
|
$(_trigger).siblings('[moe]').find('i').first().addClass('d-none');
|
|
|
}
|
|
|
}
|
|
|
+ function saveCustomItem_{{ $formID }}(_moe) {
|
|
|
+ console.log('saveCustomItem_{{ $formID }}');
|
|
|
+ let label = $.trim(_moe.find('.label_new_custom_item').first().val());
|
|
|
+ if(!label) return false;
|
|
|
+ showMask();
|
|
|
+ $.post('/api/sectionTemplateCustomItem/create', {
|
|
|
+ sectionTemplateUid: '{{ $section->sectionTemplate->uid }}',
|
|
|
+ label: label
|
|
|
+ }, function(_data) {
|
|
|
+ fastReload();
|
|
|
+ });
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ function cancelCustomItem_{{ $formID }}(_moe) {
|
|
|
+ hideMoeFormMask();
|
|
|
+ $('div[moe]').hide();
|
|
|
+ return false;
|
|
|
+ }
|
|
|
</script>
|