function requiresJsAndCss() { $elements = $this->field->headElements(new Parameter('notUsed', new StringType())); $this->assert(array_slice($elements, 0, 4), [HeadElements::jquery(), HeadElements::bootstrap(), HeadElements::bootstrapJs(), HeadElements::fontAwesome()]); $this->assert->contains((string) $elements[4], 'summernote.min.css'); $this->assert->contains((string) $elements[5], 'summernote.min.js'); $this->assert->contains((string) $elements[6], "\$(this).val(\$(this).code());"); }
/** * @param Parameter $parameter * @return array|Element[] */ public function headElements(Parameter $parameter) { return [HeadElements::jquery(), HeadElements::bootstrap(), HeadElements::bootstrapJs(), HeadElements::fontAwesome(), HeadElements::style('//cdnjs.cloudflare.com/ajax/libs/summernote/0.6.10/summernote.min.css'), HeadElements::script('//cdnjs.cloudflare.com/ajax/libs/summernote/0.6.10/summernote.min.js'), new Element('script', [], ["\n \$(function() {\n \$('.summernote').summernote({\n onKeyup: function(e) {\n \$(this).val(\$(this).code());\n }\n });\n \$('.summernote').on('invalid', function (e) {\n var editor = \$(e.target).siblings('.note-editor');\n editor.popover({\n content: 'Please fill out this field.',\n placement: 'bottom',\n trigger: 'manual'\n });\n editor.popover('show');\n\n editor.click(function () {\n editor.popover('hide');\n });\n });\n });\n "])]; }