Аргументы параметров URL запроса

В фреймворке есть еще один тип аргументов шаблона, которые создаются функцией fcf.argURL(). Данный тип аргументов шаблона связывает параметр URL запроса с аргументом. При изменении аргумента запроса выполняется изменение параметра URL адреса, а при задании URL параметра выполняется установка значения аргумента.

Применим данный тип аргументов в нашем приложении. Если вы обратите внимание, при нажатии на кнопки "Reload" или "Refresh" происходит сбрасывание текущей вкладки, т.к. все шаблоны возвращаются в начальное состояние, но чтобы этого не происходило, достаточно задать аргумент шаблона "tab" для шаблона @controls:tabs используя функцию fcf.argURL().

Файл :templates/blocks/moving-containers.tmpl:

... //~TEMPLATE <div class="moving-containers-view" style="background-image: url(@{{args._file}}@);"> <div class="moving-containers-view-info"> Rebound counter: <span name="rebound_counter">#{{args._reboundCounter}}#</span> </div> %{{ for(let i = 0; i < args._strings.length; ++i) { }}% @{{ render.template( "+view-item", { string: fcf.argRef(`_strings[${i}]`), fcfEventRebound: "parent.setArg('_reboundCounter', parent.getArg('_reboundCounter')+1)" })}}@ %{{ } }}% </div> <fieldset> <legend>Editor</legend> @{{ render.template("@controls:tabs", { tab: fcf.argURL("tab", {default: "strings"}), items: fcf.argVal({ strings: { title: "Strings", content: fcf.argTmpl("+strings", {strings: fcf.argRef("_strings")}) }, settings: { title: "Settings", content: fcf.argTmpl("+settings") } }) }); }}@ </fieldset> @{{ render.template("@controls:button", {title: fcf.t("Save"), enable: fcf.argRef("_modify"), fcfEventClick: "parent.onSave()"}); }}@ @{{ render.template("@controls:button", {title: fcf.t("Reload"), enable: fcf.argRef("_modify"), fcfEventClick: "parent.reload()"}); }}@ @{{ render.template("@controls:button", {title: fcf.t("Refresh"), enable: fcf.argRef("_modify"), fcfEventClick: "parent.refresh()"}); }}@ ...

И проверим результат.

И так, наше приложение готово. Полный код приложения можно скачать со страницы примера /examples/fcf-example-moving-containers