/** * Get JS * * @param array $res */ private function js($res = array()) { $at = (string) $this->getAttribute('at', 'false'); if ($at === 'true') { FabrikHelperHTML::atWHo('textarea[data-at]', ArrayHelper::getColumn($res, 'value')); } $connection = $this->getAttribute('connection'); $repeat = FabrikWorker::toBoolean($this->getAttribute('repeat', false), false); $repeat = FabrikAdminElementHelper::getRepeat($this) || $repeat; $c = (int) FabrikAdminElementHelper::getRepeatCounter($this); $mode = $this->getAttribute('mode'); $connectionDd = $repeat ? $connection . '-' . $c : $connection; $highlightPk = FabrikWorker::toBoolean($this->getAttribute('highlightpk', false), false); $tableDd = $this->getAttribute('table'); $opts = new stdClass(); $opts->table = $repeat ? 'jform_' . $tableDd . '-' . $c : 'jform_' . $tableDd; $opts->conn = 'jform_' . $connectionDd; $opts->value = $this->value; $opts->repeat = $repeat; $opts->showAll = (int) $this->getAttribute('showall', '1'); $opts->highlightpk = (int) $highlightPk; $opts->mode = $mode; $opts->defaultOpts = $res; $opts->addBrackets = FabrikWorker::toBoolean($this->getAttribute('addbrackets', false), false); $opts = json_encode($opts); $script = array(); $script[] = "if (typeOf(FabrikAdmin.model.fields.listfields) === 'null') {"; $script[] = "FabrikAdmin.model.fields.listfields = {};"; $script[] = "}"; $script[] = "if (FabrikAdmin.model.fields.listfields['{$this->id}'] === undefined) {"; $script[] = "FabrikAdmin.model.fields.listfields['{$this->id}'] = new ListFieldsElement('{$this->id}', {$opts});"; $script[] = "}"; $script = implode("\n", $script); $srcs = array('Fabrik' => 'media/com_fabrik/js/fabrik.js', 'ListFields' => 'administrator/components/com_fabrik/models/fields/listfields.js'); FabrikHelperHTML::script($srcs, $script); }
private function js($res = array()) { $connection = $this->element['connection']; $repeat = FabrikAdminElementHelper::getRepeat($this) || $this->element['repeat']; $c = (int) FabrikAdminElementHelper::getRepeatCounter($this); $mode = (string) JArrayHelper::getValue($this->element, 'mode', false); $connectionDd = $repeat ? $connection . '-' . $c : $connection; $highlightpk = (bool) JArrayHelper::getValue($this->element, 'highlightpk', false); $tableDd = $this->element['table']; $opts = new stdClass(); $opts->table = $repeat ? 'jform_' . $tableDd . '-' . $c : 'jform_' . $tableDd; $opts->conn = 'jform_' . $connectionDd; $opts->value = $this->value; $opts->repeat = $repeat; $opts->showAll = (int) JArrayHelper::getValue($this->element, 'showall', '1'); $opts->highlightpk = (int) $highlightpk; $opts->mode = $mode; $opts->defaultOpts = $res; $opts->addBrackets = (bool) JArrayHelper::getValue($this->element, 'addbrackets', false); $opts = json_encode($opts); $script = array(); $script[] = "if (typeOf(FabrikAdmin.model.fields.listfields) === 'null') {"; $script[] = "FabrikAdmin.model.fields.listfields = {};"; $script[] = "}"; $script[] = "FabrikAdmin.model.fields.listfields['{$this->id}'] = new ListFieldsElement('{$this->id}', {$opts});"; $script = implode("\n", $script); $srcs = array(); $srcs[] = 'media/com_fabrik/js/fabrik.js'; $srcs[] = 'administrator/components/com_fabrik/models/fields/listfields.js'; FabrikHelperHTML::script($srcs, $script); }