Skip to content

Commit

Permalink
Inline fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
wilr committed Jul 27, 2017
1 parent 57acb83 commit aaf1130
Show file tree
Hide file tree
Showing 3 changed files with 90 additions and 5 deletions.
85 changes: 85 additions & 0 deletions javascript/tmpl.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
/*
* JavaScript Templates 1.0.2
* https://github.com/blueimp/JavaScript-Templates
*
* Copyright 2011, Sebastian Tschan
* https://blueimp.net
*
* Licensed under the MIT license:
* http://www.opensource.org/licenses/MIT
*
* Inspired by John Resig's JavaScript Micro-Templating:
* http://ejohn.org/blog/javascript-micro-templating/
*/

/*jslint evil: true, regexp: true */
/*global document, define */

(function ($) {
"use strict";
var tmpl = function (str, data) {
var f = !/[^\-\w]/.test(str) ? tmpl.cache[str] = tmpl.cache[str] ||
tmpl(tmpl.load(str)) :
new Function(
tmpl.arg,
("var _s=''" + tmpl.helper + ";_s+='" +
str.replace(tmpl.regexp, tmpl.func) +
"';return _s;").split("_s+='';").join("")
);
f.tmpl = f.tmpl || tmpl;
return data ? f(data) : f;
};
tmpl.cache = {};
tmpl.load = function (id) {
return document.getElementById(id).innerHTML;
};
tmpl.regexp = /(\s+)|('|\\)(?![^%]*%\})|(?:\{%(=|#)(.+?)%\})|(\{%)|(%\})/g;
tmpl.func = function (s, p1, p2, p3, p4, p5, p6, o, str) {
if (p1) { // whitespace
return o && o + s.length !== str.length ? " " : "";
}
if (p2) { // single quote or backslash
return "\\" + s;
}
if (p3) { // interpolation: {%=prop%}, or unescaped: {%#prop%}
if (p3 === "=") {
return "'+_e(" + p4 + ")+'";
}
return "'+(" + p4 + "||'')+'";
}
if (p5) { // evaluation start tag: {%
return "';";
}
if (p6) { // evaluation end tag: %}
return "_s+='";
}
};
tmpl.encReg = /[<>&"\x00]/g;
tmpl.encMap = {
"<": "&lt;",
">": "&gt;",
"&": "&amp;",
"\"": "&quot;",
"\x00": ""
};
tmpl.encode = function (s) {
return String(s || "").replace(
tmpl.encReg,
function (c) {
return tmpl.encMap[c];
}
);
};
tmpl.arg = "o";
tmpl.helper = ",_t=arguments.callee.tmpl,_e=_t.encode" +
",print=function(s,e){_s+=e&&(s||'')||_e(s);}" +
",include=function(s,d){_s+=_t(s,d);}";
if (typeof define === "function" && define.amd) {
// Register as an AMD module:
define("tmpl", function () {
return tmpl;
});
} else {
$.tmpl = tmpl;
}
}(this));
8 changes: 4 additions & 4 deletions src/GridFieldAddNewInlineButton.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
namespace Symbiote\GridFieldExtensions;

use SilverStripe\Core\Convert;
use SilverStripe\Core\Object;
use SilverStripe\Forms\Form;
use SilverStripe\Forms\GridField\GridField;
use SilverStripe\Forms\GridField\GridField_HTMLProvider;
Expand All @@ -12,6 +11,7 @@
use SilverStripe\ORM\DataObjectInterface;
use SilverStripe\ORM\ManyManyList;
use SilverStripe\View\ArrayData;
use SilverStripe\Core\Injector\Injector;
use SilverStripe\View\Requirements;
use Exception;

Expand Down Expand Up @@ -86,11 +86,11 @@ public function getHTMLFragments($grid)

$fragment = $this->getFragment();

if (!$editable = $grid->getConfig()->getComponentByType('GridFieldEditableColumns')) {
if (!$editable = $grid->getConfig()->getComponentByType(GridFieldEditableColumns::class)) {
throw new Exception('Inline adding requires the editable columns component');
}

Requirements::javascript(THIRDPARTY_DIR . '/javascript-templates/tmpl.js');
Requirements::javascript('symbiote/silverstripe-gridfieldextensions:javascript/tmpl.js');
GridFieldExtensions::include_requirements();

$data = new ArrayData(array(
Expand All @@ -109,7 +109,7 @@ private function getRowTemplate(GridField $grid, GridFieldEditableColumns $edita
$handled = array_keys($editable->getDisplayFields($grid));

if ($grid->getList()) {
$record = Object::create($grid->getModelClass());
$record = Injector::inst()->create($grid->getModelClass());
} else {
$record = null;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<% loop $Me %>
<% if $IsActions %>
<td$Attributes>
<button class="ss-gridfield-delete-inline gridfield-button-delete ss-ui-button" data-icon="cross-circle"></button>
<button class="ss-gridfield-delete-inline gridfield-button-delete action gridfield-button-delete btn--icon-md font-icon-trash-bin btn--no-text grid-field__icon-action form-group--no-label"></button>
</td>
<% else %>
<td$Attributes>$Content</td>
Expand Down

0 comments on commit aaf1130

Please sign in to comment.