Пример #1
0
 public static function activeModuleAccessibilityField($model, $attribute, $options = [])
 {
     $items = ArrayHelper::map(\Yii::$app->moduleAccessibilityManager->getAvailableModules(), 'ModuleId', 'ModuleName');
     $value = $model->isNewRecord ? [] : ArrayHelper::getColumn(\Yii::$app->moduleAccessibilityManager->getModulesByUser($model->getId()), 'ModuleId');
     if ($value != null) {
         $options["value"] = $value;
     }
     if (!empty($_POST['ModuleAccessibility'])) {
         $options["value"] = $_POST['ModuleAccessibility'];
     }
     $options["name"] = 'ModuleAccessibility';
     $options['id'] = self::getInputId($model, $attribute);
     $prompt = 'Select ' . $model->getAttributeLabel($attribute);
     if (isset($options['prompt'])) {
         $prompt = $options['prompt'];
         unset($options['prompt']);
     }
     $options = ArrayHelper::merge(['items' => $items, 'options' => ['multiple' => true, 'prompt' => $prompt], 'clientOptions' => ['plugins' => ["remove_button", "drag_drop", "restore_on_backspace"], 'create' => false, 'persist' => false]], $options);
     return Selectize::widget($options);
 }
Пример #2
0
<?php

use yii\helpers\ArrayHelper;
use matacms\widgets\Selectize;
use matacms\theme\simple\assets\ReviewerAsset;
use yii\helpers\Html as BaseHtml;
use yii\web\JsExpression;
$items = ArrayHelper::map($reviewers, 'id', 'profileName');
$prompt = 'Select Reviewer';
$options = ['items' => $items, 'options' => ['multiple' => false, 'prompt' => $prompt, 'id' => 'select-reviewer'], 'clientOptions' => ['maxItems' => 1, 'onChange' => new JsExpression("\n                function (value) {\n\t                if(value != '') {\n                        \$('#choose-reviewer-modal #choose-reviewer-group').removeClass('has-error');\n                        \$('#choose-reviewer-modal #choose-reviewer-group .help-block').text('');\n                    }\n                }\n            ")]];
ReviewerAsset::register($this);
?>
<div class="form-row">
    <div class="form-group single-choice-dropdown" id="choose-reviewer-group">
        <label class="control-label">Reviewer</label>
        <?php 
echo Selectize::widget($options);
?>
        <div class="help-block"></div>
    </div>
</div>
<div class="form-row">
    <?php 
echo BaseHtml::button('SUBMIT FOR REVIEW', ['id' => 'btn-send-to-review', 'class' => 'btn btn-primary review-btn']);
?>
</div>

<?php 
\Yii::$app->view->registerJs("\n\n    \$('#btn-send-to-review').on('click', function() {\n\n        var value = \$('#select-reviewer').selectize()[0].selectize.getValue();\n        if(value == '') {\n            \$('#choose-reviewer-modal #choose-reviewer-group').addClass('has-error');\n            \$('#choose-reviewer-modal #choose-reviewer-group .help-block').text('Reviewer cannot be blank');\n            return;\n        }\n\n        \$('#" . $containerId . " input#reviewer-hidden-input').val(value);\n        \$('#choose-reviewer-modal').modal('hide');\n        \$('#" . $containerId . " button.review-btn').trigger('click', [{isReviewerSet : true}]);\n    });\n", $this::POS_READY);