public function make(array $data) { $otherSetting = $data['others']; $name = $data['name']; $value = $data['value']; $select_image = pick_trans('buttons.select_file'); $change = pick_trans('buttons.change'); $remove = pick_trans('buttons.remove'); $form = <<<EOE <div class="fileinput fileinput-new file-pick-open-manager"> <div data-type="file" class="fileinput-new thumbnail" id="file-{$name}" style="width: 100px; height: 100px;"> EOE; $form .= '<input type="hidden" name="' . $name . '" value="' . $value . '">'; $form .= <<<EOE <img src="http://placehold.it/100&text=FILE"> </div> <div> <span class="btn btn-white btn-file"> <span class="fileinput-new">{$select_image}</span> <span class="fileinput-exists">{$change}</span> </span> </div> </div> <a href="#" class="btn btn-orange fileinput-remove" style="display: none; width: 60px" data-target="file-{$name}">{$remove}</a> EOE; set_package_asset_to_view('file-picker-reload'); return $form; }
public function make(array $data) { $otherSetting = $data['others']; $name = $data['name']; $value = $data['value']; $size = array_get($otherSetting['setting'], 'size') ?: '/200x150&text=-'; $img = $value ? asset('uploads/' . $value) : "http://placehold.it/{$size}"; $select_image = pick_trans('buttons.select_image'); $change = pick_trans('buttons.change'); $remove = pick_trans('buttons.remove'); $form = <<<EOE <div class="fileinput fileinput-new file-pick-open-manager"> <div data-type="image" class="fileinput-new thumbnail" id="image-{$name}" style="width: 200px; height: 150px;"> EOE; $form .= '<input type="hidden" name="' . $name . '" value="' . $value . '">'; $form .= <<<EOE <img src="{$img}"> </div> <div> <span class="btn btn-white btn-file"> <span class="fileinput-new">{$select_image}</span> <span class="fileinput-exists">{$change}</span> </span> <a href="#" class="btn btn-orange fileinput-exists" data-dismiss="fileinput">{$remove}</a> </div> </div> EOE; set_package_asset_to_view('file-picker-reload'); return $form; }
public function make(array $data) { $data['class'] = array_get($data, 'others.setting.args.class') ?: 'form-control wysiwyg-simple'; $attributes = $this->attributes($data); $form = '<textarea' . $attributes . '>' . e($data['value']) . '</textarea>'; set_package_asset_to_view('ckeditor'); return $form; }
public function make(array $data) { $data['class'] = array_get($data, 'others.setting.args.class') ?: 'form-control tagsinput'; $attributes = $this->attributes($data); $form = '<input type="text"' . $attributes . '>'; // To add the asset of package to View set_package_asset_to_view('tag'); return $form; }
public function make(array $data) { $data['class'] = array_get($data, 'others.setting.args.class') ?: 'form-control colorpicker'; $data['data-format'] = array_get($data, 'others.setting.args.data-format') ?: 'hex'; $attributes = $this->attributes($data); $form = '<div class="input-group"><div class="input-group-addon"><i class="color-preview"></i></div>'; $form .= '<input type="text"' . $attributes . '>'; $form .= '</div>'; set_package_asset_to_view('colorpicker'); return $form; }
public function make(array $data) { $data['class'] = array_get($data, 'others.setting.args.class') ?: 'form-control daterange daterange-inline add-ranges'; $data['data-format'] = array_get($data, 'others.setting.args.data-format') ?: 'YYYY-MM-DD'; $data['data-start-date'] = array_get($data, 'others.setting.args.data-start-date') ?: date('Y-m-d', time() - 86400); $data['data-end-date'] = array_get($data, 'others.setting.args.data-end-date') ?: date('Y-m-d', time()); $data['data-separator'] = array_get($data, 'others.setting.args.data-separator') ?: ' ~ '; $attributes = $this->attributes($data); $form = '<div class="input-group"><div class="input-group-addon"><i class="entypo-calendar"></i></div>'; $form .= '<input type="text"' . $attributes . '>'; $form .= '</div>'; set_package_asset_to_view('daterange'); return $form; }
public function make(array $data) { $data['class'] = array_get($data, 'others.setting.args.class') ?: 'form-control datepicker'; // 'data-format' => 'yyyy-mm-dd', // 'data-start-date' => '-2d', // 'data-end-date' => '+1w', // 'data-disabled-days' => '1,3', // 'data-start-view' => '2', $data['data-format'] = array_get($data, 'others.setting.args.data-format') ?: 'yyyy-mm-dd'; $attributes = $this->attributes($data); $form = '<div class="input-group"><div class="input-group-addon"><i class="entypo-calendar"></i></div>'; $form .= '<input type="text"' . $attributes . '>'; $form .= '</div>'; set_package_asset_to_view('datepicker'); return $form; }
public function make(array $data) { $data['class'] = array_get($data, 'others.setting.args.class') ?: 'select2'; $otherSetting = $data['others']; $attributes = $this->attributes($data); $form = '<select' . $attributes . 'data-allow-clear="true" data-placeholder="' . pick_trans('option.pleaseSelect') . '">'; $form .= '<option></option>'; if (count($otherSetting['option'])) { foreach ($otherSetting['option'] as $key => $value) { $selected = $key == $data['value'] ? ' selected' : null; $form .= '<option value="' . e($key) . '"' . $selected . '>' . e($value) . '</option>'; } } $form .= '</select>'; // To add the asset of package to View set_package_asset_to_view('multi-select2'); return $form; }
public function make(array $data) { $data['class'] = array_get($data, 'others.setting.args.class') ?: 'form-control multi-select'; $otherSetting = $data['others']; $data['value'] = is_array($data['value']) ? join(',', $data['value']) : $data['value']; $attributes = $this->attributes($data); $form = '<select multiple="multiple"' . $attributes . '>'; if (count($otherSetting['option'])) { $valueAry = explode(',', $data['value']); foreach ($otherSetting['option'] as $key => $value) { $selected = in_array($key, $valueAry) ? ' selected' : null; $form .= '<option value="' . e($key) . '"' . $selected . '>' . e($value) . '</option>'; } } $form .= '</select>'; // To add the asset of package to View set_package_asset_to_view('multi-select-list'); return $form; }
public function make(array $data) { $data['class'] = array_get($data, 'others.setting.args.class') ?: 'select2'; $data['data-allow-clear'] = "true"; $data['data-placeholder'] = pick_trans('option.pleaseSelect'); $attributes = $this->attributes($data); $options = Department::with('employees')->orderBy('sort')->get()->toArray(); $form = '<select ' . $attributes . '><option></option>'; if (count($options)) { foreach ($options as $department) { $form .= '<optgroup label=' . e($department['name']) . '>'; foreach ($department['employees'] as $employee) { $selected = $employee['id'] == $data['value'] ? ' selected' : null; $form .= '<option value="' . e($employee['id']) . '"' . $selected . '>' . e($employee['name']) . ' ' . e($employee['name_en']) . '</option>'; } $form .= '</optgroup>'; } } $form .= '</select>'; // To add the asset of package to View set_package_asset_to_view('multi-select2'); return $form; }
public function make(array $data) { // dd($data); if (!isset($data['others']['setting']['columns'])) { throw new \InvalidArgumentException("There is no 'columns' argument."); } $fields = ''; if (count($data['value'])) { foreach ($data['value'] as $key => $value) { $fields .= '<div class="toclone"><div class="row">'; foreach ($data['others']['setting']['columns'] as $columnName => $columnItem) { $columnItem['name'] = $data['name'] . '[' . $columnName . ']'; $columnItem['value'] = $value[$columnName]; $columnItem['label-class'] = 'col-md-12'; $columnItem['inner-div-class'] = 'col-md-12'; $columnItem['duplicate-inner-div-class'] = isset($columnItem['duplicate-inner-div-class']) ? $columnItem['duplicate-inner-div-class'] : 'col-md-12'; $fields .= '<div class="' . $columnItem['duplicate-inner-div-class'] . '">' . Formaker::$columnName($columnItem) . '</div>'; } $fields .= '</div>'; $fields .= '<div class="row"><div class="col-md-12">'; $fields .= '<div class="main-clone-button pull-left">'; $fields .= Form::button(pick_trans('buttons.clone'), ['class' => 'btn btn-xs btn-blue clone']); $fields .= '</div>'; $fields .= '<div class="main-clone-button pull-left">'; $fields .= Form::button(pick_trans('buttons.delete'), ['class' => 'btn btn-xs btn-danger delete']); $fields .= '</div>'; $fields .= '</div></div><div class="clearfix visible-xs-block"></div><hr></div>'; } } else { $fields .= '<div class="toclone"><div class="row">'; foreach ($data['others']['setting']['columns'] as $columnName => $columnItem) { $columnItem['name'] = $data['name'] . '[' . $columnName . ']'; $columnItem['label-class'] = 'col-md-12'; $columnItem['inner-div-class'] = 'col-md-12'; $columnItem['duplicate-inner-div-class'] = isset($columnItem['duplicate-inner-div-class']) ? $columnItem['duplicate-inner-div-class'] : 'col-md-12'; $fields .= '<div class="' . $columnItem['duplicate-inner-div-class'] . '">' . Formaker::$columnName($columnItem) . '</div>'; } $fields .= '</div>'; $fields .= '<div class="row"><div class="col-md-12">'; $fields .= '<div class="main-clone-button pull-left">'; $fields .= Form::button(pick_trans('buttons.clone'), ['class' => 'btn btn-xs btn-blue clone']); $fields .= '</div>'; $fields .= '<div class="main-clone-button pull-left">'; $fields .= Form::button(pick_trans('buttons.delete'), ['class' => 'btn btn-xs btn-danger delete']); $fields .= '</div>'; $fields .= '</div></div><div class="clearfix visible-xs-block"></div><hr></div>'; } // $data['class'] = array_get($data, 'others.setting.args.class') ?: // 'form-control tagsinput'; // $attributes = $this->attributes($data); $form = $fields; Formaker::dummy(['label-class' => isset($data['others']['setting']['label-class']) ? $data['others']['setting']['label-class'] : $data['others']['config']['label-class'], 'inner-div-class' => isset($data['others']['setting']['inner-div-class']) ? $data['others']['setting']['inner-div-class'] : $data['others']['config']['inner-div-class']]); // To add the asset of package to View set_package_asset_to_view('cloneya'); set_package_asset_to_view('jquery-confirm'); set_package_asset_to_view('ladda-bootstrap'); Theme::asset()->writeScript('duplicateform-script', ' $(function() { $("#clone-section") .cloneya() .on("clone_before_clone", function(event, toclone) { // do something }) .on("clone_after_clone", function(event, toclone, newclone) { // do something }) .on("clone_before_append", function(event, toclone, newclone) { $(newclone).css("display", "none"); $(toclone).fadeOut("fast", function() { $(this).fadeIn("fast"); }); }) .on("clone_after_append", function(event, toclone, newclone) { $(newclone).slideToggle(); }) // we remove the original binding, the call to remove is also gone .off("clone_before_delete") // we add our own, so make sure to remove the element .on("clone_before_delete", function(event, clone) { $.confirm({ // title: "{{pick_trans("warning")}}!!!", text: "確定要刪除嗎?", confirm: function() { $(clone).slideToggle("slow", function() { $(this).remove(); }); toastr.success(result.message, "成功", opts); }, cancel: function() { // nothing to do }, confirmButton: "是", cancelButton: "否", confirmButtonClass: "btn-danger", cancelButtonClass: "btn-default" }); }) .on("clone_after_delete", function(event) { // do something; }); }); '); return $form; }