diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md new file mode 100755 index 0000000..cff6143 --- /dev/null +++ b/.github/CONTRIBUTING.md @@ -0,0 +1,126 @@ +Contributing to yii2-editable +============================= +Looking to contribute something to yii2-editable? **Here's how you can help.** + +Please take a moment to review this document in order to make the contribution +process easy and effective for everyone involved. + +Following these guidelines helps to communicate that you respect the time of +the developers managing and developing this open source project. In return, +they should reciprocate that respect in addressing your issue or assessing +patches and features. + +Using the issue tracker +----------------------- +When [reporting bugs][reporting-bugs] or +[requesting features][requesting-features], the +[issue tracker on GitHub][issue-tracker] is the recommended channel to use. + +The issue tracker **is not** a place for support requests. Refer the +[extension documentation and demos](http://demos.krajee.com/editable) and/or refer to the +[webtips Q & A forum](http://webtips.krajee.com/questions) which are the better places to get help. + +Reporting bugs with yii2-editable +--------------------------------- +We really appreciate clear bug reports that _consistently_ show an issue +_within yii2-editable_. + +The ideal bug report follows these guidelines: + +1. **Use the [GitHub issue search][issue-search]** — Check if the issue + has already been reported. +2. **Check if the issue has been fixed** — Try to reproduce the problem + using the code in the `master` branch. +3. **Isolate the problem** — Try to share a demo or a test case that + consistently reproduces the problem. + +Please try to be as detailed as possible in your bug report, especially if an +isolated test case cannot be made. Some useful questions to include the answer +to are: + +- What steps can be used to reproduce the issue? +- What is the bug and what is the expected outcome? +- What browser(s) and Operating System have you tested with? +- Does the bug happen consistently across all tested browsers? +- What version of jQuery are you using? And what version of yii2-editable? +- Are you using yii2-editable with other plugins? + +All of these questions will help others fix and identify any potential bugs. + +Requesting features in yii2-editable +------------------------------------ +Before starting work on a major feature for yii2-editable, **read the +[documentation](http://demos.krajee.com/editable) first** or you may risk spending a considerable amount of +time on something which the project developers are not interested in bringing into the project. + +### Submitting a pull request + +We use GitHub's pull request system for submitting patches. Here are some +guidelines to follow when creating the pull request for your fix. + +1. Make sure to create a ticket for your pull request. This will serve as the +bug ticket, and any discussion about the bug will take place there. Your pull +request will be focused on the specific changes that fix the bug. +2. Make sure to reference the ticket you are fixing within your pull request. +This will allow us to close off the ticket once we merge the pull request, or +follow up on the ticket if there are any related blocking issues. +3. Explain why the specific change was made. Not everyone who is reviewing your +pull request will be familiar with the problem it is fixing. +4. Run your tests first. If your tests aren't passing, the pull request won't +be able to be merged. If you're breaking existing tests, make sure that you +aren't causing any breaking changes. +5. Only include source changes. While it's not required, only including changes +from the `src` directory will prevent merge conflicts from occuring. Making +this happen can be as a simple as not committing changes from the `dist` +directory. + +By following these steps, you will make it easier for your pull request to be +reviewed and eventually merged. + +Triaging issues and pull requests +--------------------------------- +Anyone can help the project maintainers triage issues and review pull requests. + +### Handling new issues + +yii2-editable regularly receives new issues which need to be tested and organized. + +When a new issue that comes in that is similar to another existing issue, it +should be checked to make sure it is not a duplicate. Duplicates issues should +be marked by replying to the issue with "Duplicate of #[issue number]" where +`[issue number]` is the url or issue number for the existing issue. This will +allow the project maintainers to quickly close off additional issues and keep +the discussion focused within a single issue. + +If you can test issues that are reported to yii2-editable that contain test cases and +confirm under what conditions bugs happen, that will allow others to identify +what causes a bug quicker. + +### Reviewing pull requests + +It is very common for pull requests to be opened for issues that contain a clear +solution to the problem. These pull requests should be rigorously reviewed by +the community before being accepted. If you are not sure about a piece of +submitted code, or know of a better way to do something, do not hesitate to make +a comment on the pull request. + +### Reviving old tickets + +If you come across tickets which have not been updated for a while, you are +encouraged to revive them. While this can be as simple as saying `:+1:`, it is +best if you can include more information on the issue. Common bugs and feature +requests are more likely to be fixed, whether it is by the community or the +developers, so keeping tickets up to date is encouraged. + +Licensing +--------- + +It should also be made clear that **all code contributed to yii2-editable** must be +licensable under the [BSD-3 license][licensing]. Code that cannot be released +under this license **cannot be accepted** into the project. + +[issue-search]: https://github.com/kartik-v/yii2-editable/search?q=&type=Issues +[issue-tracker]: https://github.com/kartik-v/yii2-editable/issues +[licensing]: https://github.com/kartik-v/yii2-editable/blob/master/LICENSE.md +[reporting-bugs]: #reporting-bugs-with-yii2-editable +[requesting-features]: #requesting-features-in-yii2-editable \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100755 index 0000000..2ec1170 --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,47 @@ +## Prerequisites + +- [ ] I have searched for similar issues in both open and closed tickets and cannot find a duplicate. +- [ ] The issue still exists against the latest `master` branch of yii2-editable. +- [ ] This is not an usage question. I confirm having gone through and read the [documentation and demos](http://demos.krajee.com/editable). +- [ ] This is not a general programming / coding question. (Those should be directed to the [webtips Q & A forum](http://webtips.krajee.com/questions)). +- [ ] I have attempted to find the simplest possible steps to reproduce the issue. +- [ ] I have included a failing test as a pull request (Optional). + +## Steps to reproduce the issue + +1. +2. +3. + +## Expected behavior and actual behavior + +When I follow those steps, I see... + +I was expecting... + +## Environment + +#### Browsers + +- [ ] Google Chrome +- [ ] Mozilla Firefox +- [ ] Internet Explorer +- [ ] Safari + +#### Operating System + +- [ ] Windows +- [ ] Mac OS X +- [ ] Linux +- [ ] Mobile + +#### Libraries + +- jQuery version: +- yii2-editable version: + +## Isolating the problem + +- [ ] This bug happens [on the demos page](https://demos.krajee.com/editable) +- [ ] The bug happens consistently across all tested browsers +- [ ] This bug happens when using yii2-editable without other plugins. \ No newline at end of file diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100755 index 0000000..3283d29 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,16 @@ +## Scope +This pull request includes a + +- [ ] Bug fix +- [ ] New feature +- [ ] Translation + +## Changes +The following changes were made (this change is also documented in the [change log](https://github.com/kartik-v/yii2-editable/blob/master/CHANGE.md)): + +- +- +- + +## Related Issues +If this is related to an existing ticket, include a link to it as well. \ No newline at end of file diff --git a/CHANGE.md b/CHANGE.md index a8a4503..f0a1709 100755 --- a/CHANGE.md +++ b/CHANGE.md @@ -3,7 +3,7 @@ Change Log: `yii2-editable` ## Version 1.7.5 -**Date:** 06-Jul-2016 +**Date:** 08-Jan-2017 - (enh #105): Add Indonesian translations. - (enh #108): Add Dutch translations. @@ -14,6 +14,12 @@ Change Log: `yii2-editable` - (enh #123): Allow advanced form data to be sent via ajax (e.g. file inputs). - (enh #125): Add Latvian translations. - (enh #126): Fix help block display for non active forms. +- (bug #136): New property `additionalData` to send additional data as key-value pairs via editable ajax form POST. +- (bug #139): Better validation of value set in displayValueConfig. +- (bug #141): Close inline editable tags correctly. +- Correct Editable input types. +- Add github contribution and issue/PR logging templates. +- Update message config to include all default standard translation files. ## Version 1.7.4 diff --git a/Editable.php b/Editable.php index ce70330..a04018a 100755 --- a/Editable.php +++ b/Editable.php @@ -2,7 +2,7 @@ /** * @package yii2-editable * @author Kartik Visweswaran - * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2015 - 2016 + * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2015 - 2017 * @version 1.7.5 */ @@ -29,13 +29,15 @@ class Editable extends InputWidget { /** - * Editable display formats + * Editable LINK display format (default) */ const FORMAT_LINK = 'link'; + /** + * Editable BUTTON display format + */ const FORMAT_BUTTON = 'button'; - /** - * Editable prebuilt inline templates + * Editable prebuilt inline template number 1 for content before */ const INLINE_BEFORE_1 = <<< HTML
@@ -43,14 +45,18 @@ class Editable extends InputWidget {loading}
HTML; - + /** + * Editable prebuilt inline template number 1 for content after + */ const INLINE_AFTER_1 = <<< HTML
{buttons}{close}
HTML; - + /** + * Editable prebuilt inline template number 2 for content before + */ const INLINE_BEFORE_2 = <<< HTML
{close} @@ -58,100 +64,202 @@ class Editable extends InputWidget
HTML; - + /** + * Editable prebuilt inline template number 2 for content after + */ const INLINE_AFTER_2 = <<< HTML
HTML; - /** - * Editable input types + * Hidden input */ - // input types const INPUT_HIDDEN = 'hiddenInput'; + /** + * Text input + */ const INPUT_TEXT = 'textInput'; - const INPUT_PASSWORD = 'passwordInput'; + /** + * Text area + */ const INPUT_TEXTAREA = 'textArea'; + /** + * Password input + */ + const INPUT_PASSWORD = 'passwordInput'; + /** + * Dropdown list allowing single select + */ + const INPUT_DROPDOWN_LIST = 'dropDownList'; + /** + * List box allowing multiple select + */ + const INPUT_LIST_BOX = 'listBox'; + /** + * Checkbox input + */ const INPUT_CHECKBOX = 'checkbox'; + /** + * Radio input + */ const INPUT_RADIO = 'radio'; - const INPUT_LIST_BOX = 'listBox'; - const INPUT_DROPDOWN_LIST = 'dropDownList'; + /** + * Checkbox inputs as a list allowing multiple selection + */ const INPUT_CHECKBOX_LIST = 'checkboxList'; + /** + * Radio inputs as a list + */ const INPUT_RADIO_LIST = 'radioList'; + /** + * Bootstrap styled checkbox button group + */ + const INPUT_CHECKBOX_BUTTON_GROUP = 'checkboxButtonGroup'; + /** + * Bootstrap styled radio button group + */ + const INPUT_RADIO_BUTTON_GROUP = 'radioButtonGroup'; + /** + * Krajee styled multiselect input that allows formatted checkbox list and radio list + */ + const INPUT_MULTISELECT = 'multiselect'; + /** + * File input + */ const INPUT_FILE = 'fileInput'; - const INPUT_HTML5_INPUT = 'input'; + /** + * Other HTML5 input (e.g. color, range, email etc.) + */ + const INPUT_HTML5 = 'input'; + /** + * Input widget + */ const INPUT_WIDGET = 'widget'; - - // input widget classes + /** + * Krajee dependent dropdown input widget [[\kartik\depdrop\DepDrop]] + */ const INPUT_DEPDROP = '\kartik\depdrop\DepDrop'; + /** + * Krajee select2 input widget [[\kartik\select2\Select2]] + */ const INPUT_SELECT2 = '\kartik\select2\Select2'; + /** + * Krajee typeahead input widget [[\kartik\typeahead\Typeahead]] + */ const INPUT_TYPEAHEAD = '\kartik\typeahead\Typeahead'; + /** + * Krajee switch input widget [[\kartik\switchinput\SwitchInput]] + */ const INPUT_SWITCH = '\kartik\switchinput\SwitchInput'; + /** + * Krajee touch spin input widget [[\kartik\touchspin\TouchSpin]] + */ const INPUT_SPIN = '\kartik\touchspin\TouchSpin'; + /** + * Krajee star rating input widget [[\kartik\rating\StarRating]] + */ + const INPUT_RATING = '\kartik\rating\StarRating'; + /** + * Krajee range input widget [[\kartik\range\RangeInput]] + */ + const INPUT_RANGE = '\kartik\range\RangeInput'; + /** + * Krajee color input widget [[\kartik\color\ColorInput]] + */ + const INPUT_COLOR = '\kartik\color\ColorInput'; + /** + * Krajee file input widget [[\kartik\file\FileInput]] + */ + const INPUT_FILEINPUT = '\kartik\file\FileInput'; + /** + * Krajee date picker input widget [[\kartik\date\DatePicker]] + */ const INPUT_DATE = '\kartik\date\DatePicker'; + /** + * Krajee Time picker input widget [[\kartik\time\TimePicker]] + */ const INPUT_TIME = '\kartik\time\TimePicker'; + /** + * Krajee date time Picker input widget [[\kartik\datetime\DateTimePicker]] + */ const INPUT_DATETIME = '\kartik\datetime\DateTimePicker'; + /** + * Krajee date range picker input widget [[\kartik\daterange\DateRangePicker]] + */ const INPUT_DATE_RANGE = '\kartik\daterange\DateRangePicker'; + /** + * Krajee sortable input widget [[\kartik\sortinput\SortableInput]] + */ const INPUT_SORTABLE = '\kartik\sortinput\SortableInput'; - const INPUT_RANGE = '\kartik\range\RangeInput'; - const INPUT_COLOR = '\kartik\color\ColorInput'; - const INPUT_RATING = '\kartik\rating\StarRating'; - const INPUT_FILEINPUT = '\kartik\file\FileInput'; + /** + * Krajee slider input widget [[\kartik\slider\Slider]] + */ const INPUT_SLIDER = '\kartik\slider\Slider'; + /** + * Krajee mask money input widget [[\kartik\money\MaskMoney]] + */ const INPUT_MONEY = '\kartik\money\MaskMoney'; + /** + * Krajee checkbox extended input widget [[\kartik\checkbox\CheckboxX]] + */ const INPUT_CHECKBOX_X = '\kartik\checkbox\CheckboxX'; - + /** + * Loading indicator markup for the editable + */ const LOAD_INDICATOR = ''; + /** + * CSS setting for the editable parent + */ const CSS_PARENT = "kv-editable-parent form-group"; /** * @var string the identifier for the PJAX widget container if the editable widget is to be rendered inside a PJAX - * container. This will ensure the PopoverX plugin is initialized correctly after a PJAX request is completed. - * If this is not set, no re-initialization will be done for pjax. + * container. This will ensure the PopoverX plugin is initialized correctly after a PJAX request is completed. + * If this is not set, no re-initialization will be done for pjax. */ public $pjaxContainerId; /** * @var string the display format for the editable. Accepts one of the following values. - * - 'link' or [[Editable::FORMAT_LINK]]: will convert the text to a clickable editable link. - * - 'button' or [[Editable::FORMAT_BUTTON]]: will display a separate button beside the text. + * - `'link' or [[Editable::FORMAT_LINK]]: will convert the text to a clickable editable link. + * - `'button' or [[Editable::FORMAT_BUTTON]]: will display a separate button beside the text. * Defaults to [[Editable::FORMAT_LINK]] if you do not set it as [[Editable::FORMAT_BUTTON]]. */ public $format = self::FORMAT_LINK; /** - * @var bool whether to show the editable input as a popover. Defaults to `true`. If set to `false`, it will be - * rendered inline. + * @var boolean whether to show the editable input as a popover. Defaults to `true`. If set to `false`, it will be + * rendered inline. */ public $asPopover = true; /** - * @var array the settings for the inline editable when `asPopover` is `false`. The following properties are - * recognized: - * - options: array, the HTML attributes for the `div` panel container that will enclose the inline content. By - * default the options will be set to `['class' => 'panel panel-default']`. - * - closeButton: string, the markup for rendering the close button to close the inline panel. Note the markup must - * have the CSS class `kv-editable-close` to trigger the closure of the inline panel. The `closeButton` - * defaults to ``. - * - templateBefore: string, he template for inline content rendered before the input. Defaults to - * `Editable::INLINE_BEFORE_1`. - * - templateAfter: string, he template for inline content rendered after the input. Defaults to - * `Editable::INLINE_AFTER_1`. The following tags in the templates above will be automatically replaced: - * - '{header}': the header generated via `preHeader` and `header` properties. - * - '{inputs}': the main form input content (combining `beforeInput`, the input/widget generated based on - * `inputType`, and `afterInput`) - * - '{buttons}': the form action buttons (submit and reset). - * - '{loading}': the loading indicator. - * - '{close}': the close button to close the inline content as set in `inlineSettings['closeButton']`. + * @var array the settings for the inline editable when [[asPopover]] is `false`. The following properties are + * recognized: + * - `options`: _array_, the HTML attributes for the `div` panel container that will enclose the inline content. By + * default the options will be set to `['class' => 'panel panel-default']`. + * - `closeButton`: _string_, the markup for rendering the close button to close the inline panel. Note the markup must + * have the CSS class `kv-editable-close` to trigger the closure of the inline panel. The `closeButton` + * defaults to ``. + * - `templateBefore`: _string_, the template for inline content rendered before the input. Defaults to + * [[INLINE_BEFORE_1]]. + * - `templateAfter`: _string_, he template for inline content rendered after the input. Defaults to + * [[INLINE_AFTER_1]]. The following tokens in the templates above will be automatically replaced: + * - '{header}': the header generated via `preHeader` and `header` properties. + * - '{inputs}': the main form input content (combining `beforeInput`, the input/widget generated based on + * `inputType`, and `afterInput`) + * - '{buttons}': the form action buttons (submit and reset). + * - '{loading}': the loading indicator. + * - '{close}': the close button to close the inline content as set in `inlineSettings['closeButton']`. */ public $inlineSettings = []; /** * @var array the HTML attributes for the editable button to be displayed when the format has been set to 'button': - * - label: string, the editable button label. This is not HTML encoded. Defaults to - * ` + * - `label`: _string_, the editable button label. This is not HTML encoded and efaults to + * ` */ public $editableButtonOptions = ['class' => 'btn btn-sm btn-default']; @@ -172,54 +280,54 @@ class Editable extends InputWidget /** * @var string the popover contextual type. Must be one of the [[PopoverX::TYPE]] constants Defaults to - * `PopoverX::TYPE_DEFAULT` or `default`. This will be applied only if `asPopover` is `true`. + * [[PopoverX::TYPE_DEFAULT]] or `default`. This will be applied only if [[asPopover]] is `true`. */ public $type = PopoverX::TYPE_DEFAULT; /** - * @var string the size of the popover window. One of the [[PopoverX::SIZE]] constants. This will be applied only - * if `asPopover` is `true`. + * @var string the size of the popover window. One of the `PopoverX::SIZE` constants. This will be applied only + * if [[asPopover]] is `true`. */ public $size; /** - * @var string the popover placement. Must be one of the [[PopoverX::ALIGN]] constants Defaults to - * `PopoverX::ALIGN_RIGHT` or `right`. This will be applied only if `asPopover` is `true`. + * @var string the popover placement. Must be one of the `PopoverX::ALIGN` constants Defaults to + * [[PopoverX::ALIGN_RIGHT]] or `right`. This will be applied only if [[asPopover]] is `true`. */ public $placement = PopoverX::ALIGN_RIGHT; /** * @var string the header content placed before the header text in the popover dialog or inline panel. This - * defaults to ` Edit`. + * defaults to ` Edit`. */ public $preHeader; /** * @var string the header content in the popover dialog or inline panel. If not set, this will be auto generated - * based on the attribute label or set to null. + * based on the attribute label or set to null. */ public $header; /** * @var string the footer content in the popover dialog or inline panel. The following special tags/variables will - * be parsed and replaced in the footer: - * - `{loading}`: string, will be replaced with the loading indicator. - * - `{buttons}`: string, will be replaced with the submit and reset button. If this is set to null or an empty - * string, it will not be displayed. + * be parsed and replaced in the footer: + * - `{loading}`: _string_, will be replaced with the loading indicator. + * - `{buttons}`: _string_, will be replaced with the submit and reset button. If this is set to null or an empty + * string, it will not be displayed. */ public $footer = '{loading}{buttons}'; /** * @var string the value to be displayed. If not set, this will default to the attribute value. If the attribute - * value is null, then this will display the value as set in [[valueIfNull]]. + * value is null, then this will display the value as set in [[valueIfNull]]. */ public $displayValue; /** * @var array the configuration to auto-calculate display value, based on the value of the editable input. This - * should be a single dimensional array whose keys must match the input value, and the array values must be the - * description to be displayed. For example, to display user friendly bool values, you could configure this as - * `[0 => 'Inactive', 1 => 'Active']`. If this is set, it will override any value set in `displayValue`. + * should be a single dimensional array whose keys must match the input value, and the array values must be the + * description to be displayed. For example, to display user friendly bool values, you could configure this as + * `[0 => 'Inactive', 1 => 'Active']`. If this is set, it will override any value set in `displayValue`. */ public $displayValueConfig = []; @@ -235,7 +343,7 @@ class Editable extends InputWidget /** * @var array the class for the ActiveForm widget to be used. The class must extend from `\yii\widgets\ActiveForm`. - * This defaults to `\yii\widgets\ActiveForm`. + * This defaults to `\yii\widgets\ActiveForm`. */ public $formClass = '\yii\widgets\ActiveForm'; @@ -246,43 +354,43 @@ class Editable extends InputWidget /** * @var array the input type to render for the editing the input in the editable form. This must be one of the - * [[Editable::TYPE]] constants. + * `Editable::TYPE` constants. */ public $inputType = self::INPUT_TEXT; /** * @var string any custom widget class to use. Will only be used if the `inputType` is set to - * [[Editable::INPUT_WIDGET]] + * [[INPUT_WIDGET]] */ public $widgetClass; /** - * @var bool additional ajax settings to pass to the plugin. + * @var boolean additional ajax settings to pass to the plugin. * @see http://api.jquery.com/jquery */ public $ajaxSettings = []; /** - * @var bool whether to display any ajax processing errors. Defaults to `true`. + * @var boolean whether to display any ajax processing errors. Defaults to `true`. */ public $showAjaxErrors = true; /** - * @var bool whether to auto submit/save the form on pressing ENTER key. Defaults to `true`. + * @var boolean whether to auto submit/save the form on pressing ENTER key. Defaults to `true`. */ public $submitOnEnter = true; /** - * @var bool whether to HTML encode the output via javascript after editable update. Defaults to `true`. Note that - * this is only applied, if you do not return an output value via your AJAX response action. If you return an - * output value via AJAX it will not be HTML encoded. + * @var boolean whether to HTML encode the output via javascript after editable update. Defaults to `true`. Note that + * this is only applied, if you do not return an output value via your AJAX response action. If you return an + * output value via AJAX it will not be HTML encoded. */ public $encodeOutput = true; /** * @var array the options for the input. If the inputType is one of the HTML inputs, this will capture the HTML - * attributes. If the `inputType` is set to [[Editable::INPUT_WIDGET]] or set to an input widget from the - * `\kartik\` namespace, then this will capture the widget options. + * attributes. If the `inputType` is set to [[INPUT_WIDGET]] or set to an input widget from the + * `\kartik\` namespace, then this will capture the widget options. */ public $options = []; @@ -293,39 +401,43 @@ class Editable extends InputWidget /** * @var string|Closure the content to be placed before the rendered input. If not set as a string, this can be - * passed as a callback function of the following signature: - * ``` + * passed as a callback function of the following signature: + * ` * function ($form, $widget) { * // echo $form->field($widget->model, 'attrib'); * } - * ``` + * ` + * * where: - * - $form ActiveForm is the active form instance for the editable form - * - $widget Editable is the current editable widget instance + * + * - `$form`: _ActiveForm_, is the active form instance for the editable form + * - `$widget`: _Editable_, is the current editable widget instance */ public $beforeInput; /** * @var string|Closure the content to be placed after the rendered input. If not set as a string, this can be - * passed as a callback function of the following signature: - * ``` + * passed as a callback function of the following signature: + * ` * function ($form, $widget) { * // echo $form->field($widget->model, 'attrib'); * } - * ``` + * ` + * * where: - * - $form ActiveForm is the active form instance for the editable form - * - $widget Editable is the current editable widget instance + * + * - `$form`: _ActiveForm_, is the active form instance for the editable form + * - `$widget`: _Editable_, is the current editable widget instance */ public $afterInput; /** - * @var bool whether you wish to automatically display the form submit and reset buttons. Defaults to `true`. + * @var boolean whether you wish to automatically display the form submit and reset buttons. Defaults to `true`. */ public $showButtons = true; /** - * @var bool whether you want to show the button labels. Defaults to `false`. + * @var boolean whether you want to show the button labels. Defaults to `false`. */ public $showButtonLabels = false; @@ -336,24 +448,30 @@ class Editable extends InputWidget /** * @var array the HTML attributes for the form submit button. The following special properties are additionally - * recognized: - * - icon: string, the icon for the button. Defaults to ` `. - * - label: string, the label of the button. This is Html encoded. Defaults to 'Apply' and is translated via yii - * i18n message files. + * recognized: + * - `icon`: _string_, the icon for the button. Defaults to ` `. + * - `label`: _string_, the label of the button. This is HTML encoded. Defaults to `Apply` and is translated via yii + * i18n message files. */ public $submitButton = ['class' => 'btn btn-sm btn-primary']; /** * @var array the HTML attributes for the form reset button. The following special properties are additionally - * recognized: - * - icon: string, the icon for the button. Defaults to ` `. - * - label: string, the label of the button. This is Html encoded. Defaults to 'Reset' and is translated via yii - * i18n message files. + * recognized: + * - `icon`: _string_, the icon for the button. Defaults to ` `. + * - `label`: _string_, the label of the button. This is HTML encoded. Defaults to `Reset` and is translated via yii + * i18n message files. */ public $resetButton = ['class' => 'btn btn-sm btn-default']; /** - * @var array the generated configuration for the `kartik\popover\PopoverX` widget. + * @var array additional data to be passed when editable is submitted via ajax request as `$key => $value` pairs. + * This will generate hidden inputs in the editable form with input name as `$key` and input value as `$value`. + */ + public $additionalData = []; + + /** + * @var array the generated configuration for the [[PopoverX]] widget. */ protected $_popoverOptions = []; @@ -390,7 +508,7 @@ public function run() } /** - * Registers the needed assets + * Registers the client assets for [[Editable]] widget. */ public function registerAssets() { @@ -418,12 +536,15 @@ public function registerAssets() $view->registerJs($js); } } + if ($this->inputType === Editable::INPUT_TIME) { + $this->_popoverOptions['toggleButton']['data-show'] = true; + } } /** * Gets the form instance for use at runtime * - * @return \yii\widgets\ActiveForm + * @return ActiveForm */ public function getForm() { @@ -487,14 +608,14 @@ protected function runEditable() echo Html::beginTag('div', $this->inlineSettings['options']); } echo $this->renderFormFields(); + if (!$this->asPopover) { + echo "\n"; // inline options + } /** * @var ActiveForm $class */ $class = $this->formClass; $class::end(); - if (!$this->asPopover) { - echo "\n"; // inline options - } echo "\n"; // content options if ($this->asPopover === true) { PopoverX::end(); @@ -587,7 +708,7 @@ protected function initOptions() "Your editable value cannot be an array or object for parsing with 'displayValueConfig'. The array keys in 'displayValueConfig' must be a simple string or number. For advanced display value calculations, you must use your controller AJAX action to return 'output' as a JSON encoded response which will be used as a display value." ); } - if ($hasDisplayConfig && !empty($this->displayValueConfig[$value])) { + if ($hasDisplayConfig && isset($this->displayValueConfig[$value])) { $this->displayValue = $this->displayValueConfig[$value]; } Html::addCssClass($this->containerOptions, 'kv-editable'); @@ -729,12 +850,15 @@ protected function renderFormFields() { echo $this->parseTemplate('templateBefore'); echo Html::hiddenInput('hasEditable', 0) . "\n"; + foreach ($this->additionalData as $name => $value) { + echo Html::hiddenInput($name, $value) . "\n"; + } $before = $this->beforeInput; $after = $this->afterInput; if ($before !== null && is_string($before) || is_callable($before)) { echo (is_callable($before) ? call_user_func($before, $this->_form, $this) : $before) . "\n"; } - if ($this->inputType === self::INPUT_HTML5_INPUT) { + if ($this->inputType === self::INPUT_HTML5) { echo $this->renderHtml5Input() . "\n"; } elseif ($this->inputType === self::INPUT_WIDGET) { echo $this->renderWidget($this->widgetClass) . "\n"; @@ -800,7 +924,7 @@ protected function renderWidget($class) } /** - * Renders all other HTML inputs (except HTML5) + * Renders all native HTML inputs (except [[INPUT_HTML5]]) * * @return string */ diff --git a/EditableAsset.php b/EditableAsset.php index 610ce65..82e97f3 100755 --- a/EditableAsset.php +++ b/EditableAsset.php @@ -2,7 +2,7 @@ /** * @package yii2-editable * @author Kartik Visweswaran - * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2015 - 2016 + * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2015 - 2017 * @version 1.7.5 */ diff --git a/EditablePjaxAsset.php b/EditablePjaxAsset.php index 6e96ef1..3c2194c 100755 --- a/EditablePjaxAsset.php +++ b/EditablePjaxAsset.php @@ -2,7 +2,7 @@ /** * @package yii2-editable * @author Kartik Visweswaran - * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2015 - 2016 + * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2015 - 2017 * @version 1.7.5 */ diff --git a/assets/css/editable.css b/assets/css/editable.css index a837125..d8259a6 100755 --- a/assets/css/editable.css +++ b/assets/css/editable.css @@ -1,7 +1,7 @@ /*! * @package yii2-editable * @author Kartik Visweswaran - * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2015 - 2016 + * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2015 - 2017 * @version 1.7.5 * * Styling for the Editable widget diff --git a/assets/css/editable.min.css b/assets/css/editable.min.css index 0610d5d..8082f89 100755 --- a/assets/css/editable.min.css +++ b/assets/css/editable.min.css @@ -1,7 +1,7 @@ /*! * @package yii2-editable * @author Kartik Visweswaran - * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2015 - 2016 + * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2015 - 2017 * @version 1.7.5 * * Styling for the Editable widget diff --git a/assets/js/editable-pjax.js b/assets/js/editable-pjax.js index f58bd03..c5a22fa 100755 --- a/assets/js/editable-pjax.js +++ b/assets/js/editable-pjax.js @@ -1,7 +1,7 @@ /*! * @package yii2-editable * @author Kartik Visweswaran - * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2015 - 2016 + * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2015 - 2017 * @version 1.7.5 * * Editable Extension - PJAX processing script for popover-x diff --git a/assets/js/editable-pjax.min.js b/assets/js/editable-pjax.min.js index 3e0a7a1..93924c2 100755 --- a/assets/js/editable-pjax.min.js +++ b/assets/js/editable-pjax.min.js @@ -1,7 +1,7 @@ /*! * @package yii2-editable * @author Kartik Visweswaran - * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2015 - 2016 + * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2015 - 2017 * @version 1.7.5 * * Editable Extension - PJAX processing script for popover-x diff --git a/assets/js/editable.js b/assets/js/editable.js index 393eef8..8c48628 100755 --- a/assets/js/editable.js +++ b/assets/js/editable.js @@ -1,7 +1,7 @@ /*! * @package yii2-editable * @author Kartik Visweswaran - * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2015 - 2016 + * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2015 - 2017 * @version 1.7.5 * * Editable Extension jQuery plugin diff --git a/assets/js/editable.min.js b/assets/js/editable.min.js index 4c6b88d..46b2382 100755 --- a/assets/js/editable.min.js +++ b/assets/js/editable.min.js @@ -1,7 +1,7 @@ /*! * @package yii2-editable * @author Kartik Visweswaran - * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2015 - 2016 + * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2015 - 2017 * @version 1.7.5 * * Editable Extension jQuery plugin diff --git a/messages/af/kveditable.php b/messages/af/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/af/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/ar/kveditable.php b/messages/ar/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/ar/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/az/kveditable.php b/messages/az/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/az/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/bg/kveditable.php b/messages/bg/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/bg/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/bs/kveditable.php b/messages/bs/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/bs/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/ca/kveditable.php b/messages/ca/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/ca/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/config.php b/messages/config.php index 424f12f..e9aab53 100755 --- a/messages/config.php +++ b/messages/config.php @@ -6,7 +6,7 @@ 'messagePath' => __DIR__, // array, required, list of language codes that the extracted messages // should be translated to. For example, ['zh-CN', 'de']. - 'languages' => ['da', 'de', 'en', 'es', 'fr', 'hu', 'it', 'lt', 'lv', 'nl', 'pt-BR', 'pt-PT', 'ru', 'vi', 'zh-CN'], + 'languages' => ['af', 'ar', 'az', 'bg', 'bs', 'ca', 'cs', 'da', 'de', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fa', 'fi', 'fo', 'fr', 'gl', 'gu', 'he', 'hi', 'hr', 'hu', 'hy', 'id', 'is', 'it', 'ja', 'ka', 'kk', 'kn', 'ko', 'ky', 'lt', 'lv', 'mi', 'mk', 'mn', 'mr', 'ms', 'mt', 'nb', 'nl', 'nn', 'pl', 'pt', 'pt-BR', 'qu', 'ro', 'ru', 'sa', 'se', 'sk', 'sl', 'sq', 'sr', 'sv', 'sw', 'ta', 'te', 'th', 'tj', 'tl', 'tn', 'tr', 'ts', 'tt', 'uk', 'ur', 'vi', 'zh-CN', 'zh-TW', 'zu'], // string, the name of the function for translating messages. // Defaults to 'Yii::t'. This is used as a mark to find the messages to be // translated. You may use a string for single function name or an array for @@ -19,7 +19,7 @@ // boolean, whether the message file should be overwritten with the merged messages 'overwrite' => true, // boolean, whether to remove messages that no longer appear in the source code. - // Defaults to false, which means each of these messages will be enclosed with a pair of '@@' marks. + // Defaults to false, which means each of these messages will be enclosed with a pair of '' marks. 'removeUnused' => false, // array, list of patterns that specify which files/directories should NOT be processed. // If empty or not set, all files/directories will be processed. @@ -48,4 +48,4 @@ // When format is "db", you may specify the following two options //'db' => 'db', //'sourceMessageTable' => '{{%source_message}}', -]; +]; \ No newline at end of file diff --git a/messages/el/kveditable.php b/messages/el/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/el/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/eo/kveditable.php b/messages/eo/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/eo/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/eu/kveditable.php b/messages/eu/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/eu/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/fa/kveditable.php b/messages/fa/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/fa/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/fi/kveditable.php b/messages/fi/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/fi/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/fo/kveditable.php b/messages/fo/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/fo/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/gl/kveditable.php b/messages/gl/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/gl/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/gu/kveditable.php b/messages/gu/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/gu/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/he/kveditable.php b/messages/he/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/he/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/hi/kveditable.php b/messages/hi/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/hi/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/hr/kveditable.php b/messages/hr/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/hr/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/hy/kveditable.php b/messages/hy/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/hy/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/is/kveditable.php b/messages/is/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/is/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/ja/kveditable.php b/messages/ja/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/ja/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/ka/kveditable.php b/messages/ka/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/ka/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/kk/kveditable.php b/messages/kk/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/kk/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/kn/kveditable.php b/messages/kn/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/kn/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/ko/kveditable.php b/messages/ko/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/ko/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/ky/kveditable.php b/messages/ky/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/ky/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/lt/kveditable.php b/messages/lt/kveditable.php index 1a4ca6d..1489040 100755 --- a/messages/lt/kveditable.php +++ b/messages/lt/kveditable.php @@ -2,7 +2,7 @@ /** * Message translations. * - * This file is automatically generated by 'yii message' command. + * This file is automatically generated by 'yii message/extract' command. * It contains the localizable messages extracted from source code. * You may modify this file by translating the extracted messages. * @@ -17,8 +17,9 @@ * NOTE: this file must be saved in UTF-8 encoding. */ return [ + 'Close' => '', + '(not set)' => 'Nenustatyta', 'Apply' => 'Išsaugoti', - 'Reset' => 'Atstatyti', 'Edit' => 'Redaguoti', - '(not set)' => 'Nenustatyta', + 'Reset' => 'Atstatyti', ]; diff --git a/messages/mi/kveditable.php b/messages/mi/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/mi/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/mk/kveditable.php b/messages/mk/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/mk/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/mn/kveditable.php b/messages/mn/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/mn/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/mr/kveditable.php b/messages/mr/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/mr/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/ms/kveditable.php b/messages/ms/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/ms/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/mt/kveditable.php b/messages/mt/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/mt/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/nb/kveditable.php b/messages/nb/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/nb/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/nn/kveditable.php b/messages/nn/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/nn/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/qu/kveditable.php b/messages/qu/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/qu/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/ro/kveditable.php b/messages/ro/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/ro/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/sa/kveditable.php b/messages/sa/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/sa/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/se/kveditable.php b/messages/se/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/se/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/sk/kveditable.php b/messages/sk/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/sk/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/sl/kveditable.php b/messages/sl/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/sl/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/sq/kveditable.php b/messages/sq/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/sq/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/sr/kveditable.php b/messages/sr/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/sr/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/sv/kveditable.php b/messages/sv/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/sv/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/sw/kveditable.php b/messages/sw/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/sw/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/ta/kveditable.php b/messages/ta/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/ta/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/te/kveditable.php b/messages/te/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/te/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/th/kveditable.php b/messages/th/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/th/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/tj/kveditable.php b/messages/tj/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/tj/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/tl/kveditable.php b/messages/tl/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/tl/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/tn/kveditable.php b/messages/tn/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/tn/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/tr/kveditable.php b/messages/tr/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/tr/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/ts/kveditable.php b/messages/ts/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/ts/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/tt/kveditable.php b/messages/tt/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/tt/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/ur/kveditable.php b/messages/ur/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/ur/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/zh-TW/kveditable.php b/messages/zh-TW/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/zh-TW/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +]; diff --git a/messages/zu/kveditable.php b/messages/zu/kveditable.php new file mode 100755 index 0000000..be88b76 --- /dev/null +++ b/messages/zu/kveditable.php @@ -0,0 +1,25 @@ + '', + 'Apply' => '', + 'Close' => '', + 'Edit' => '', + 'Reset' => '', +];