An extended table to integration with some of the most widely used CSS frameworks.

Overview

Bootstrap Table

Build Status GitHub version Donate Backers on Open Collective Sponsors on Open Collective Package Quality

An extended Bootstrap table with radio, checkbox, sort, pagination, extensions and other added features.

To get started, check out:

List of donators

LICENSE

NOTE: Bootstrap Table is licensed under The MIT License. Completely free, you can arbitrarily use and modify this plugin. If this plugin is useful to you, you can Star this repo, your support is my biggest motive force, thanks.

Features

  • Created for Twitter Bootstrap (All versions supported)
  • Responsive web design
  • Scrollable Table with fixed headers
  • Fully configurable
  • Via data attributes
  • Show/Hide columns
  • Show/Hide headers
  • Show/Hide footers
  • Get data in JSON format using AJAX
  • Simple column sorting with a click
  • Format column
  • Single or multiple row selection
  • Powerful pagination
  • Card view
  • Detail view
  • Localization
  • Extensions

How to get it

Manual download

Use Releases page or the source.

Yarn

yarn add bootstrap-table

Npm

npm install bootstrap-table

CDN

You can source bootstrap-table directly from a CDN like CDNJS or bootcss or jsdelivr.

Contributing

For feature requests, bug reports or submitting pull requests, please ensure you first read CONTRIBUTING.md.

Reporting Issues

As stated above, please read CONTRIBUTING.md, especially Bug Reports

And as stated there, please provide an Online Example when creating issues!

It's really saves much time.

You can also use our examples template via Load Examples button:

Online Editor

Your feedback is very appreciated!

Acknowledgements

Thanks to everyone who have given feedback and submitted pull requests. A list of all the contributors can be found here. This project exists thanks to all the people who contribute. [Contribute].

Release History

Look at the Change Log

Local develop

To develop bootstrap-table locally please run:

mkdir bootstrap-table-dev
cd bootstrap-table-dev
git clone https://github.com/wenzhixin/bootstrap-table
git clone https://github.com/wenzhixin/bootstrap-table-examples

yarn add http-server
npx http-server

And then open: http://localhost:8081/bootstrap-table-examples

Local build

Be sure to use a current version of yarn/npm. To build bootstrap-table locally please run:

Yarn

yarn install
yarn build

Npm

npm install
npm run build

Result will appear in dist directory.

PayPal Sponsors

Write my essay services from Edubirdie

OpenCollective Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

OpenCollective Backers

Support this project by becoming a backer. Your image will show up here with a link to your website. [Become a backer]

Comments
  • Improving filter control

    Improving filter control

    Improving filter control extension

    Default options:

    • [x] filterControl
    • [x] filterControlVisible
    • [x] onColumnSearch
    • [x] onCreatedControls
    • [x] alignmentSelectControlOptions:
    • [x] filterTemplate
    • [x] disableControlWhenSearch (removed)
    • [x] searchOnEnterKey
    • [x] showFilterControlSwitch
    • [x] filterControlContainer

    Column options:

    • [x] filterControl // input
    • [x] filterControl //select
    • [x] filterControl // datepicker
    • [x] filterDataCollector
    • [x] filterData
    • [x] filterDatepickerOptions
    • [x] filterStrictSearch
    • [x] filterStartsWithSearch
    • [x] filterControlPlaceholder
    • [x] filterDefault
    • [x] filterOrderBy // asc
    • [x] filterOrderBy // desc

    Scenarios

    • [x] When height is not set //input
    • [x] When height is set // input
    • [x] When height is not set // select
    • [x] When height is set // select
    • [x] When height is not set // datetimepicker
    • [x] When height is set // datetimepicker
    • [x] Show Columns when height is not set
    • [x] Show Columns when height is set

    Integrations

    • [x] Cookie integration
    • [x] ~~MultipleSelect with basic configuration~~
    • [ ] ~~MultipleSelect when height is set (Facing css issue. See https://github.com/wenzhixin/bootstrap-table/pull/5583#issuecomment-821907389)~~
    • [x] ~~MultipleSelect when height is not set~~
    • [ ] ~~MultipleSelect when multiple is set (Facing css issue. See https://github.com/wenzhixin/bootstrap-table/pull/5583#issuecomment-821907389)~~

    Update docs

    • [x] Add/Remove documentation

    Fix https://github.com/wenzhixin/bootstrap-table/issues/5541 (https://live.bootstrap-table.com/code/djhvscf/9665) Fix https://github.com/wenzhixin/bootstrap-table/issues/5588 (https://live.bootstrap-table.com/code/djhvscf/9666) Fix https://github.com/wenzhixin/bootstrap-table/issues/4998 (https://live.bootstrap-table.com/code/djhvscf/9667) Fix https://github.com/wenzhixin/bootstrap-table/issues/5468 (https://live.bootstrap-table.com/code/djhvscf/9690) Fix #5684 (https://live.bootstrap-table.com/code/djhvscf/9691) Fix https://github.com/wenzhixin/bootstrap-table/issues/4984 (https://live.bootstrap-table.com/code/djhvscf/9692) ~~Remove from scope https://github.com/wenzhixin/bootstrap-table/issues/5573.~~ See https://github.com/wenzhixin/bootstrap-table/issues/5968 Fix https://github.com/wenzhixin/bootstrap-table/issues/5446 (https://live.bootstrap-table.com/code/djhvscf/7411) ~~Remove from scope https://github.com/wenzhixin/bootstrap-table/issues/3298~~ Fix https://github.com/wenzhixin/bootstrap-table/issues/5146 (https://live.bootstrap-table.com/code/djhvscf/9694) Fix https://github.com/wenzhixin/bootstrap-table/issues/5690 (https://live.bootstrap-table.com/code/djhvscf/7438) Fix https://github.com/wenzhixin/bootstrap-table/issues/5572 (https://live.bootstrap-table.com/code/djhvscf/7445) Fix #5713 (https://live.bootstrap-table.com/code/djhvscf/9695) ~~Remove from scope https://github.com/wenzhixin/bootstrap-table/issues/5848~~ Fix https://github.com/wenzhixin/bootstrap-table/issues/5960 (https://live.bootstrap-table.com/code/djhvscf/9696) Fix https://github.com/wenzhixin/bootstrap-table/issues/5774 (https://live.bootstrap-table.com/code/djhvscf/9719) Fix https://github.com/wenzhixin/bootstrap-table/issues/5820 (https://live.bootstrap-table.com/code/djhvscf/9720) Fix https://github.com/wenzhixin/bootstrap-table/issues/5828 (https://live.bootstrap-table.com/code/djhvscf/9721) Fix https://github.com/wenzhixin/bootstrap-table/issues/5833 (https://live.bootstrap-table.com/code/djhvscf/9722) Fix https://github.com/wenzhixin/bootstrap-table/issues/5859 (https://live.bootstrap-table.com/code/djhvscf/9723) Fix https://github.com/wenzhixin/bootstrap-table/issues/5630 (https://live.bootstrap-table.com/code/djhvscf/9726) Fix https://github.com/wenzhixin/bootstrap-table/issues/5687 (https://live.bootstrap-table.com/code/djhvscf/9863) Fix https://github.com/wenzhixin/bootstrap-table/issues/6004 (https://live.bootstrap-table.com/code/UtechtDustin/10038)

    opened by djhvscf 65
  • data-side-pagination=

    data-side-pagination="server" not working

    Hello, i'm new on Github

    i have to make a boostrap table with sorting/pagin/filtering lot of datas in ASP MVC application.

    i found boostrap-table and it look great !

    i have a problem when i add data-pagination="true" and data-side-pagination="server" but the table is empty or "No matching records found". without paging it working.

    this is my controller

    public JsonResult JsonGrid() { List resultats = uow.Repository().GetAlls().OrderByDescending(e => e.DateResultat).ToList();

            List<ResultatViewModel> ListeResultatViewModel = new List<ResultatViewModel>();
            foreach (var result in resultats)
            {
    
                ResultatViewModel resultatViewModel = new ResultatViewModel();
    
                resultatViewModel.PMRQTOTM = result.PMRQTOTM;
                resultatViewModel.PMID = result.PMID;
                resultatViewModel.PMRQ = result.PMRQ;
    
                ListeResultatViewModel.Add(resultatViewModel);
            }
    
            return Json(ListeResultatViewModel, JsonRequestBehavior.AllowGet);
    

    }

    My PartialView with my tab

    table id="gridTable" data-toggle="table" data-url="/Resultats/JsonGrid" data-pagination="true" data-page-list="[5, 10, 20, 50, 100, 200]" data-search="true" data-height="300"> thead tr th data-sortable="true" data-field="Flag">PEC th> th data-field="PMRQTOTM">PMRQTOTM th> th data-field="PMRQ">PMRQ th> tr thead table>

    and my main view

    div id="Render">@Html.Partial("Grille", Model)div

    Thanks !!

    help-wanted 
    opened by AnThO16 61
  • Own Theme for the bootstrap-table

    Own Theme for the bootstrap-table

    fix #4364

    • [x] Accent Neutralise
    • [x] Addrbar
    • [x] Auto Refresh
    • [x] Cookie
    • [x] Copy Rows
    • [x] Defer Url
    • [x] Editable
    • [x] Export
    • [x] Filter Control
    • [x] Fixed Columns
    • [x] Group By V2
    • [x] I18n Enhance
    • [x] Key Events
    • [x] Mobile
    • [x] Multiple Sort
    • [x] Page Jump To
    • [x] Print
    • [x] Reorder Columns
    • [x] Reorder Rows
    • [x] Resizable
    • [x] Sticky Header
    • [x] Toolbar
    • [x] Treegrid
    opened by UtechtDustin 43
  • How do i get Data from json array?

    How do i get Data from json array?

    I have a data: [{"id":404,"description":"PowerEdge 6300","price":7500,"onhand":16,"supplierId":302, "suppliers":[{"name":"DELL","webSite":"http://dell.com"}]}

    i want to get suppliers.name field, how do i get that data field ? suppliers

    opened by okgint 43
  • 关于使用server端分页,如何保存用户所有的复选框选择问题

    关于使用server端分页,如何保存用户所有的复选框选择问题

    $table.on('check.bs.table uncheck.bs.table ' + 'check-all.bs.table uncheck-all.bs.table', function () { $remove.prop('disabled', !$table.bootstrapTable('getSelections').length);

            // save your data, here just save the current page
            selections = getIdSelections();
            // push or splice the selections if you want to save all data selections
        });
    

    getIdSelections方法只能获得当前页面的选择,但是翻页后就会丢失之前保存的数据,我看到您的示例代码中给予了提示,但是具体怎么实现保存用户所有的复选框选择还是没有思路,能否给予点指引呢

    opened by netbuffer 40
  • server-side pagination not displaying pages or row count ; search not working ; sort not working

    server-side pagination not displaying pages or row count ; search not working ; sort not working

    Hi. I'm new here. I just switched my pagination over to server-side, with the default parameters, as indicated on the example page, and a bunch of javascript related things aren't working.

    • My table of 32 rows displays all the rows in one table, with no pages. It also now returns at the bottom

    'Showing 1 to 0 of 0 rows' , with no page controls on the right-hand side.

    My table is set set up like

    <table class='sastable' id='table' data-toggle='table' data-classes='table table-condensed table-bordered' data-sort-name="{{'plate' if stage=='3d' else 'mjd'}}" data-sort-order='asc'
        data-show-columns='true' data-pagination='true' data-search='true' pageSize='25' 
        data-select-item-name='input' data-toolbar='#toolbar' data-id-field='id' 
        data-side-pagination='server' data-page-list="[10, 25, 50, 100]" name='sastable'>
     </table>
    

    Am I missing something in the setup to activate it? I could not find another issue related to this one.

    • The column sorting no longer works anymore.
      • The search is also not working. I updated my bootstrap-table-flatJSON.js as indicated in this thread https://github.com/wenzhixin/bootstrap-table/issues/434, but this did not fix the problem.

    Am I missing some javascript somewhere to get the server-side pagination set up properly?

    Thanks for your help.

    help-wanted 
    opened by havok2063 39
  • Plan

    Plan

    What I want to do in the future or have already completed.

    • [x] Rebuild all source code to ES6.
      • [x] Extensions
        • [x] accent-neutralise
        • [x] addrbar
        • [x] auto-refresh
        • [x] cookie
        • [x] copy-rows
        • [x] defer-url
        • [x] editable
        • [x] export
        • [x] filter-control
        • [x] fixed-columns
        • [x] ~~group-by~~
        • [x] group-by-v2
        • [x] i18n-enhance
        • [x] key-events
        • [x] mobile
        • [x] ~~multi-column-toggle~~
        • [x] ~~multiple-search~~
        • [x] ~~multiple-selection-row~~
        • [x] multiple-sort
        • [x] natural-sorting
        • [x] page-jump-to
        • [x] pipeline
        • [x] print
        • [x] reorder-columns
        • [x] reorder-rows
        • [x] resizable
        • [x] ~~select2-filter~~
        • [x] sticky-header
        • [x] toolbar
        • [x] ~~tree-column~~
        • [x] treegrid
      • [x] Locales
      • [x] bootstrap-table.js
    • [x] Rebuild the website, deploy to GitHub Pages and add Algolia search support. (100%)
    • [x] Add some of the most widely used CSS frameworks. (100%)
    • [x] Check all table options are working and add examples. (100%)
    • [x] Check all column options are working and add examples. (100%)
    • [x] Check all methods are working and add examples. (100%)
    • [x] Check all locales https://github.com/wenzhixin/bootstrap-table/commit/13624d984b410ea4436bfb234ef3addb6fc9833b. (100%)
    • [x] Check all events are working. (100%)
    • [x] Check all extensions are working, remove extensions that don't need or don't work. (100%)
    • [x] Add examples for all Extensions (100%)
    • [x] Review and clean up all PR.
    • [x] #4234: Clean up most of the remaining issues.
    • [x] Use the module to refactor the code to remove IIFE.
    • [x] Use virtual scrolling to improve performance. Trying to have been basically implemented, for example, 20,000 data can work properly.
    • [x] Support vue.js.
    • [x] Released version 1.15.2.

    • [ ] Remove the dependency on jQuery.
      • [ ] Extensions
        • [ ] accent-neutralise
        • [ ] addrbar
        • [ ] auto-refresh
        • [ ] cookie
        • [ ] copy-rows
        • [ ] defer-url
        • [ ] editable
        • [ ] export
        • [ ] filter-control
        • [ ] fixed-columns
        • [x] ~~group-by~~
        • [ ] group-by-v2
        • [ ] i18n-enhance
        • [ ] key-events
        • [ ] mobile
        • [x] ~~multi-column-toggle~~
        • [x] ~~multiple-search~~
        • [x] ~~multiple-selection-row~~
        • [ ] multiple-sort
        • [x] natural-sorting
        • [ ] page-jump-to
        • [ ] pipeline
        • [ ] print
        • [ ] reorder-columns
        • [ ] reorder-rows
        • [ ] resizable
        • [x] ~~select2-filter~~
        • [ ] sticky-header
        • [ ] toolbar
        • [ ] ~~tree-column~~
        • [ ] treegrid
      • [ ] Locales
      • [ ] bootstrap-table.js
    • [ ] Released version 2.0, now many people have reported that the bootstrap-table is often not searchable, so consider changing the name, such as ui-table or other better name.
    • [ ] Consider whether to support react and angular, not very familiar.
    feature 
    opened by wenzhixin 35
  • cannot load json data

    cannot load json data

    Hi togeher,

    My Files

    nodes.json: http://paste.debian.net/hidden/85d8c632/ getData.html: http://paste.debian.net/hidden/b9df2a32/ welcome.html http://paste.debian.net/hidden/10c94b9b/

    Problem

    No matching records found!

    Anyone ideas?

    opened by BenJule 35
  • Sort by multiple columns

    Sort by multiple columns

    Is there a way to initialize a bootstrap-table to be sorted by multiple columns?

    Suppose you have a table like this:

    | Target Date | Priority | | --- | --- | | 2/2/2002 | Medium | | 1/1/2013 | High | | 1/1/2012 | High | | 1/1/2014 | High |

    I want the default view to look like this (sorted first by Priority descending, then Target Date ascending).

    | Target Date | Priority | | --- | --- | | 1/1/2012 | High | | 1/1/2013 | High | | 1/1/2014 | High | | 2/2/2002 | Medium |

    extension feature 
    opened by nikolas 35
  • Group and Ungroup table rows based on column name

    Group and Ungroup table rows based on column name

    In the boot strap table, group and un-group table rows based on column name. For example in a given table below grouping is done using column workflow name

    table groupby

    resource extension feature 
    opened by rajeshbtlit 31
  • How to add an ID to the

    How to add an ID to the "tr" ?

    Hello,

    How can I do that please ? In Symfony Twig I tried that :

    {% for tuto in categorie.tutoriels %}
        <tr class="{{ (tuto.ID) }}">
            <td>Bob</td>
        </tr>
    {% endfor %}
    

    But the class not appear in my html... why ?

    opened by zagloo 31
  • Bump core-js from 3.26.1 to 3.27.0

    Bump core-js from 3.26.1 to 3.27.0

    Bumps core-js from 3.26.1 to 3.27.0.

    Changelog

    Sourced from core-js's changelog.

    3.27.0 - 2022.12.26
    • Iterator Helpers proposal:
      • Built-ins:
        • Iterator
          • Iterator.from
          • Iterator.prototype.drop
          • Iterator.prototype.every
          • Iterator.prototype.filter
          • Iterator.prototype.find
          • Iterator.prototype.flatMap
          • Iterator.prototype.forEach
          • Iterator.prototype.map
          • Iterator.prototype.reduce
          • Iterator.prototype.some
          • Iterator.prototype.take
          • Iterator.prototype.toArray
          • Iterator.prototype.toAsync
          • Iterator.prototype[@@toStringTag]
        • AsyncIterator
          • AsyncIterator.from
          • AsyncIterator.prototype.drop
          • AsyncIterator.prototype.every
          • AsyncIterator.prototype.filter
          • AsyncIterator.prototype.find
          • AsyncIterator.prototype.flatMap
          • AsyncIterator.prototype.forEach
          • AsyncIterator.prototype.map
          • AsyncIterator.prototype.reduce
          • AsyncIterator.prototype.some
          • AsyncIterator.prototype.take
          • AsyncIterator.prototype.toArray
          • AsyncIterator.prototype[@@toStringTag]
      • Moved to Stage 3, November 2022 TC39 meeting
      • Added /actual/ entries, unconditional forced replacement disabled for features that survived to Stage 3
      • .from accept strings, .flatMap throws on strings returned from the callback, proposal-iterator-helpers/244, proposal-iterator-helpers/250
      • .from and .flatMap throws on non-object iterators, proposal-iterator-helpers/253
    • Set methods proposal:
      • Built-ins:
        • Set.prototype.intersection
        • Set.prototype.union
        • Set.prototype.difference
        • Set.prototype.symmetricDifference
        • Set.prototype.isSubsetOf
        • Set.prototype.isSupersetOf
        • Set.prototype.isDisjointFrom
      • Moved to Stage 3, November 2022 TC39 meeting
      • Reimplemented with new semantics:
        • Optimized performance (iteration over lowest set)
        • Accepted only Set-like objects as an argument, not all iterables
        • Accepted only Sets as this, no @@species support, and other minor changes

    ... (truncated)

    Commits
    • 66c427f 3.27.0
    • c8322b0 allow gc disposed resources before disposing all resources of stack
    • 0d9478e add some comments
    • 68c9bf6 smoothed behavior of some conflicting proposals
    • 4cc298a fix a couple of tests
    • c5e2d95 add set(Timeout|Interval|Immediate) extra arguments fix for Bun (similarly ...
    • 078397e remove unreachable condition
    • 5c6b8fa throw an error on non-frozen raw templates for avoiding possible breaking cha...
    • 4d1b116 some optimizations
    • 041835b drop extra dependencies from /proposals|stage/ entries, they are not requir...
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Added new table options

    Added new table options "copyUnique" and "copyToLowerCase".

    🤔Type of Request

    • [ ] Bug fix
    • [x] New feature
    • [ ] Improvement
    • [ ] Documentation
    • [ ] Other

    🔗Resolves an issue?

    📝Changelog

    • [ ] Core
    • [x] Extensions

    Added a new table option copyUnique to copy only unique values to clipboard. Added a new table option copyToLowerCase to convert values to lowercase; when used with copyUnique, guarantees uniqueness if there is any character case mismatch.

    💡Example(s)?

    https://live.bootstrap-table.com/code/mmaravillo/13892

    ☑️Self Check before Merge

    ⚠️ Please check all items below before reviewing. ⚠️

    • [x] Doc is updated/provided or not needed
    • [x] Demo is updated/provided or not needed
    • [x] Changelog is provided or not needed
    opened by mmaravillo 0
  • Table does not follow Addrbar

    Table does not follow Addrbar

    Description

    The extension for Addrbar is added and enabled. Next, when switching pages on the pagination the parameters in the url are changing, but clicking on return (go back or forward button) the table does not change accordingly, stays static unless the page is refreshed with F5. (Auto)-refresh also doesn't follow the Addrbar.

    I'm using server side processing. Maybe I missed something. But I dunno what. (added extension in scripts, enabled addrbar by stating true, I guess this is all?) I've put the table options which I tried in the example.

    Thanks for your time in advance!

    Example(s)

    https://live.bootstrap-table.com/code/DataSupplier/13882

    help-wanted 
    opened by DataSupplier 0
  • After destroying bootstrap-table custom view events not remove

    After destroying bootstrap-table custom view events not remove

    Bootstraptable version(s) affected

    1.21.2

    Description

    When custom view body rendered, I add some listeners on custom view element. but when I destroy bootstrap-table, event 'custom-view-post-body.bs.table' not remove. the event bound many times.

    Example(s)

    <button id="build" class="btn btn-primary">build</button>
    <button id="destroy" class="btn btn-danger">destroy</button>
    <table id="table"></table>
    <template id="viewTemplate">
        <div class="col">
            <button class="action btn btn-info">%name%</button>
        </div>
    </template>
    
    <script>
        let $table = $('#table')
    
        function initTable() {
            $table.bootstrapTable('destroy').bootstrapTable({
                showCustomView: true,
                customView: customView,
                columns: [{
                    field: 'id',
                    title: 'Item ID'
                }, {
                    field: 'name',
                    title: 'Item Name'
                }, {
                    field: 'price',
                    title: 'Item Price'
                }],
                data: [{
                    id: 1,
                    name: 'Item 1',
                    price: '$1'
                }, {
                    id: 2,
                    name: 'Item 2',
                    price: '$2'
                }, {
                    id: 2,
                    name: 'Item 2',
                    price: '$2'
                }]
            })
    
            $table.on('custom-view-post-body.bs.table', () => {
                actions()
            })
    
            function customView(data) {
                let template = document.getElementById('viewTemplate').innerHTML
                let view = ''
                for (const row of data) {
                    view += template.replace('%name%', row.name)
                }
                return `<div class="row">${view}</div>`
            }
    
            function actions() {
                let customViewEl = document.querySelector('.fixed-table-custom-view')
    
                customViewEl.querySelectorAll('.action').forEach((el) => {
                    el.addEventListener('click', () => {
                        console.log('action')
                    })
                })
            }
        }
    
        document.getElementById('build').addEventListener('click', function () {
            initTable()
        })
    
        document.getElementById('destroy').addEventListener('click', function () {
            $table.bootstrapTable('destroy')
        })
    
    </script>
    

    Possible Solutions

    initTable function

    $table
      .off('custom-view-post-body.bs.table')
      .on('custom-view-post-body.bs.table', () => {
          actions()
      })
    

    Additional Context

    No response

    Bug 
    opened by wil-wu 0
  • Extension filter-control work incorrectly if create multiple tables with data-height attribute

    Extension filter-control work incorrectly if create multiple tables with data-height attribute

    Bootstraptable version(s) affected

    1.21.2

    Description

    I create two tables, both defined data-height, but values of second table appeared in the filter of first table incorrectly, and the second table's filter shows no selection.

    In another case, create two tables, only define data-weight in the second table, but the second table's filter could not clear by select the empty value.

    Example(s)

    Case A, two tables, both defined height: https://live.bootstrap-table.com/code/shigure-j/13748 Case B: two tables, second one defined height: https://live.bootstrap-table.com/code/shigure-j/13749

    Please check the 'Item Price' column's filter

    Possible Solutions

    The reason seems like that some functions get the fixed table head by search from whole dom but not related table https://github.com/wenzhixin/bootstrap-table/blob/4a4d39cdfb5c8a241826b7496e2348ecda3ee514/src/extensions/filter-control/utils.js#L593 https://github.com/wenzhixin/bootstrap-table/blob/4a4d39cdfb5c8a241826b7496e2348ecda3ee514/src/extensions/filter-control/utils.js#L21 https://github.com/wenzhixin/bootstrap-table/blob/4a4d39cdfb5c8a241826b7496e2348ecda3ee514/src/extensions/filter-control/utils.js#L603 https://github.com/wenzhixin/bootstrap-table/blob/4a4d39cdfb5c8a241826b7496e2348ecda3ee514/src/extensions/filter-control/bootstrap-table-filter-control.js#L529 I edit these lines like below , and it works in my case, but i'm not sure is it right to fix this problem const fixedHeader = that.$el.find('thead');

    Additional Context

    No response

    has PR Bug 
    opened by shigure-j 1
  • Overriding issues

    Overriding issues

    Description

    I'm no longer able to restore data changes back to original data source by overriding function("initData"). What I'm I missing?

    <!doctype html>
    <html lang="en">
      <head>
        <!-- Required meta tags -->
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    
        <!-- Bootstrap CSS -->
        <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65" crossorigin="anonymous">
    	<link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/bootstrap-table.min.css">
    	
        <title>TEST!</title>
      </head>
      <body>
    	<div id="toolbar">
    	  <button id="getData" type="submit" class="btn btn-primary">getData</button>
    	</div>
    	<table
    		id="table"
    		data-toolbar="#toolbar">
    	  <thead>
    		<tr>
    		  <th data-field="checked" data-checkbox="true"></th>
    		  <th data-field="id">ID</th>
    		  <th data-field="name">Item Name</th>
    		  <th data-field="price">Item Price</th>
    		</tr>
    	  </thead>
    	</table>
    
        <!-- Option 1: jQuery and Bootstrap Bundle (includes Popper) -->
        <script src="https://code.jquery.com/jquery-3.6.2.min.js" integrity="sha256-2krYZKh//PcchRtd+H+VyyQoZ/e3EcrkxhM8ycwASPA=" crossorigin="anonymous"></script>
    	<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-kenU1KFdBIe4zVF0s0G1M5b4hcpxyD9F7jL+jjXkk+Q2h455rYXK/7HAuoJl+0I4" crossorigin="anonymous"></script>
    	<script src="https://unpkg.com/[email protected]/dist/bootstrap-table.min.js"></script>
    	<script>
    		(function($) {
    
    			"use strict";
    
    			let BootstrapTable = $.fn.bootstrapTable.Constructor,
    				_initData = BootstrapTable.prototype.initData;
    
    			BootstrapTable.prototype.initData = function (data, type) {
    				if (type === "append") {
    					this.options.data = this.options.data.concat(data)
    				} else if (type === "prepend") {
    					this.options.data = [].concat(data).concat(this.options.data)
    				} else {
    					data = data || this.options.data;
    					this.options.data = Array.isArray(data) ? data : data[this.options.dataField]
    				}
    
    				this.data = [...this.options.data]
    
    				if (this.options.sortReset) {
    					this.unsortedData = [...this.data]
    				}
    
    				if (this.options.sidePagination === "server") {
    					return
    				}
    				this.initSort()
    				
    				console.log("_initData");
    			};
    
    		})(jQuery);
    	</script>
    	<script>
    		let $table = $('#table')
    		let $getData = $('#getData');
    		let data = [
    		  {
    			'checked': false,
    			'id': 0,
    			'name': 'Item 0',
    			'price': '$0'
    		  },
    		  {
    			'checked': false,
    			'id': 1,
    			'name': 'Item 1',
    			'price': '$1'
    		  },
    		  {
    			'checked': false,
    			'id': 2,
    			'name': 'Item 2',
    			'price': '$2'
    		  },
    		  {
    			'checked': false,
    			'id': 3,
    			'name': 'Item 3',
    			'price': '$3'
    		  },
    		  {
    			'checked': false,
    			'id': 4,
    			'name': 'Item 4',
    			'price': '$4'
    		  },
    		  {
    			'checked': true,
    			'id': 5,
    			'name': 'Item 5',
    			'price': '$5'
    		  }
    		]
    
    		$(function() {
    			$getData.click(function () {
    				let lData = $table.bootstrapTable('getData');
    				alert(JSON.stringify(lData))
    				alert(JSON.stringify(data))
    			})
    
    			$table.bootstrapTable({data: data})
    		});
    	</script>
      </body>
    </html>
    
    opened by Scnck 7
Releases(1.21.2)
  • 1.21.2(Dec 12, 2022)

    Core

    • New: Added sortResetPage option to reset the page number when sorting.
    • Update: Fixed overwrite default option bug.
    • Update: Updated es-ES, es-CR locale.
    • Update: Improved scss style and lint.
    • Update: Used scss vars for sorting background image URLs.

    Extensions

    • New(custom-view): Added onToggleCustomView event.
    • Update(cookie): Fixed cookie name compare bug on using cookiesEnabled option.
    • Update(custom-view): Fixed showCustomView option cannot work.
    • Update(filter-control): Fixed bug while using a select filter and set searchFormatter to false.
    • Update(filter-control): Fixed missing class when specifying iconSize.
    • Update(reorder-rows): Updated default value to reorder-rows-on-drag-class of onDragClass option.
    Source code(tar.gz)
    Source code(zip)
  • 1.21.1(Sep 22, 2022)

    Core

    • Update: Improved updateCell to update one HTML cell only.
    • Update: Updated fr-FR locale.
    • Update: Added missing locales for aria-label.

    Extensions

    • Update(export): Added missing locales for aria-label.
    Source code(tar.gz)
    Source code(zip)
  • 1.21.0(Aug 20, 2022)

    Core

    • New: Added sortEmptyLast option to allow sorting empty data.
    • Update: Fixed bug on nested search with null child.
    • Update: Fixed detail view with filter click error.
    • Update: Fixed header does not center correctly for the sortable column.
    • Update: Fixed regexpCompare bug when filtering columns.
    • Update: Fixed showToogle title display error.
    • Update: Fixed remove and removeByUnqiueId using object param bug.
    • Update: Fixed searchHighlight bug while using searchAccentNeutralise.
    • Update: Fixed missing sort for customSearch option.
    • Update: Removed duplicated escaping of the column value.
    • Update: Updated uk-UA locale.

    Extensions

    • New(cookie): : Added hiddenColumns cookie to prevent issues with new added columns.
    • New(editable): Added field param to noEditFormatter option.
    • New(export): Added onExportStarted event.
    • New(filter-control): Added accent normalization check.
    • New(filter-control): Added filterControlMultipleSearch and filterControlMultipleSearchDelimiter options.
    • Update(custom-by): Fixed the custom view attributes.
    • Update(group-by): Fixed not handle complex objects bug.
    • Update(filter-control): Fixed select values not clear bug after search.
    • Update(filter-control): Fixed the select sorting error.
    • Update(filter-control): Fixed wrong selector for caching values with multiple tables.
    • Update(filter-control): Fixed the filterDefault option bug as filter if multiple filters exists.
    • Update(filter-control): Fixed filter control special char.
    • Update(filter-control): Updated default value to false of filterStrictSearch.
    • Update(filter-control): Supported not visible columns when using filterControlContainer option.
    • Update(multiple-sort): Fixed showMultiSortButton option bug.
    • Update(print): Fixed not handle complex objects bug.
    • Update(print): Removed switched-off columns from printed table.
    Source code(tar.gz)
    Source code(zip)
  • 1.20.2(May 25, 2022)

    Core

    • Update: Fixed small memory leak.
    • Update: Fixed the detail view bug with the td instead of icon.

    Extensions

    • Update(export): Fixed XSS vulnerability bug by onCellHtmlData.
    • Update(export): Fixed export footer bug without setting height.
    • Update(filter-control): Fixed the comparison of dates when using the datepicker.
    Source code(tar.gz)
    Source code(zip)
  • 1.20.1(May 12, 2022)

    Core

    • Update: Fixed toggle column bug with complex headers. #6124
    • Update: Fixed icons option cannot work bug when it's a string. #6137
    • Update: Updated TypeScript definitions. #6123
    Extensions
    • Update(cookie): Fixed cookie extension error with multiple-sort. #6139
    • Update(export): Fixed the exportOptions option cannot support the data attribute. #6112
    • Update(reorder-rows): Fixed reorder-rows cannot work because of missing default functions. #6114
    Source code(tar.gz)
    Source code(zip)
  • 1.20.0(Apr 25, 2022)

    Core

    • New: Used bootstrap5 as the default theme.
    • New: Added column-switch-all event of toggle all columns.
    • New: Added hi-IN and lb-LU locales.
    • Update: Fixed the toolbar cannot refresh search bug.
    • Update: Fixed the card view align style bug.
    • Update: Fixed custom search filter bug if the value is Object.
    • Update: Fixed table border displays bug when setting height.
    • Update: Fixed error when the column events are undefined.
    • Update: Fixed escape column option doesn't override table option bug.
    • Update: Fixed toggle all columns error when column switchable is false.
    • Update: Fixed check if the column is visible on card view.
    • Update: Fixed hide loading bug when canceling the request.
    • Update: Fixed default value of clickToSelect column option.
    • Update: Fixed onVirtualScroll not define default method.
    • Update: Updated cs-CZ, ko-KR, nl-NL, nl-BE, bg-BG, fr-LU locales.
    Extensions
    • New(filter-control): New version of filter-control with new features.
    • New(reorder-rows):: Added onAllowDrop and onDragStop options.
    • Update(cookie): Fixed sortName and sortOrder bug with cookie.
    • Update(cookie): Fixed the toggle column bug with the cookie.
    • Update(export): Fixed selector error if only one export type is defined.
    • Update(filter-control): Fixed new input class form-select of bootstrap 5.
    • Update(multiple-sort): Fixed the modal cannot close after sorting.
    • Update(print): Fixed missing print button for bootstrap 5.
    • Update(print): Fixed printPageBuilder option cannot define in html attribute.
    • Update(toolbar): Fixed toolbar extension modal bug with bootstrap 5.
    Source code(tar.gz)
    Source code(zip)
  • 1.19.1(Nov 12, 2021)

    Core

    • Update: Fixed the CVE security problem.
    • Update: Fixed cannot search for special characters when using searchHighlight.

    Extensions

    • Update(auto-refresh): Updated the showAutoRefresh option as default.
    • Update(export): Fixed export with only one export type bug.
    • Update(filter-control): Fixed filter-control cannot work bug.
    • Update(filter-control): Prevent duplicated elements for filter-control.
    Source code(tar.gz)
    Source code(zip)
  • 1.19.0(Nov 8, 2021)

    Core

    • New: Added onlyCurrentPage param for checkBy/uncheckBy methods.
    • New: Used bootstrap icons as default icons for bootstrap v5.
    • New: Added regexSearch option which allows to filter the table using regex.
    • New: Added support for allow importing stylesheets.
    • New: Added toggle-pagination event.
    • New: Added virtual-scroll event.
    • Update: Fixed vue component cannot work.
    • Update: Fixed infinite loop error with wrong server-side pagination metadata.
    • Update: Improved the behavior of ajax abort.
    • Update: Fixed click bug when paginationLoop is false.
    • Update: Fixed the highlighting bug when using radio/checkboxes.
    • Update: Fixed width bug caused by loading css.
    • Update: Removed the input-group-append class for bootstrap v5.
    • Update: Fixed duplicate definition id bug.
    • Update: Fixed the comparison of search inputs.
    • Update: Fixed broken page-list selector.
    • Update: Fixed overwrite custom locale function bug.
    • Update: Fixed bug with server side pagination and the page size all.
    • Update: Fixed all checkbox not auto check after pagination changed.
    • Update: Updated the es-MX locate.

    Extensions

    • New(cookie): Added Multiple Sort order stored in cookie extension.
    • New(cookie): Added Card view state stored in cookie extension.
    • New(copy): Added ignoreCopy column option to prevent copying the column data.
    • New(copy): Added rawCopy column option to copy the raw value instead of the formatted value.
    • Update(cookie): Fixed switchable column bug with the cookie extension.
    • Update(export): Fixed the export dropdown cannot be closed bug.
    • Update(filter-control): Updated filterMultipleSelectOptions to filterControlMultipleSelectOptions option.
    • Update(filter-control): Fixed bug with cookie deletion of none filter cookies.
    • Update(filter-control): Fixed bug when using the load method.
    • Update(group-by): Fixed overwriting the column classes bug on group collapsed rows.
    • Update(multiple-sort): Fixed hide/show column error with no sortPriority defined.
    • Update(page-jump-to): Fixed jump-to display bug in bootstrap v3.
    • Update(print): Fixed print formatter bug.
    • Update(reorder-rows): Fixed reorder-rows not work property.
    • Update(reorder-rows): Fixed the drag selector to prevent a checkbox bug on mobile.
    • Update(resizable): Fixed the reinitialization after the table changed.
    • Update(sticky-header): Fixed sticky-header not work property with group header.
    • Update(treegrid): Fixed bug of treegrid from html.
    Source code(tar.gz)
    Source code(zip)
  • 1.18.3(Mar 28, 2021)

    Core

    • Update: Fixed negative number bug when searching with comparison.
    • Update: Fixed non-conform HTML-Standard problems.
    • Update: Fixed td width bug using card view.
    • Update: Fixed exact match problem when searching term with accent.
    • Update: Update pt-PT and fa-IR locales.

    Extensions

    • New(page-jump-to): Added showJumpToByPages option.
    • Update(auth-refresh): Fixed auto refresh not clear interval bug.
    • Update(multiple-sort): Fixed multiple-sort cannot support iconSize bug.
    • Update(sticky-header): Fixed stickyHeaderOffsetY option cannot work.
    • Update(sticky-header): Updated the stickyHeader offset options to number.
    Source code(tar.gz)
    Source code(zip)
  • 1.18.2(Jan 23, 2021)

    Core

    • Update: Fixed bootstrap5 cannot work bug.
    • Update: Fixed checkbox display bug when using formatter.
    • Update: Fixed search highlight bug.
    • Update: Updated ru-RU and de-DE locales.

    Extensions

    • New(filter-control): Added support for flat JSON.
    • Update(cookie): Fixed not deleted cookie bug when the sort was reset.
    • Update(export): Not export the detail view icon column.
    • Update(filter-control): Fixed not working when using filterControlContainer.
    • Update(multiple-sort): Fixed multiple-sort cannot work bug.
    • Update(resizable): Fixed resizable cannot work in modal.
    Source code(tar.gz)
    Source code(zip)
  • 1.18.1(Dec 6, 2020)

    Core

    • New(locale): Added short locales based on ISO Language.
    • Update: Updated sk-SK, fr-FR, de-DE, and es-* locales.
    • Update: Fixed toggleCheck, getSelections and remove bug.
    • Update: Fixed buttons option bug using in data attribute.
    • Update: Fixed custom icons option bug.
    • Update: Fixed cellStyle column option not work in card view.
    • Update: Fixed getSelection bug when using search.
    • Update: Fixed pageList option with all display bug using smartDisplay.
    • Update: Fixed search highlight cannot work bug when data field is number.
    • Update: Fixed updateColumnTitle is undo bug after pagination.
    • Update: Fixed multipleSelectRow option bug.
    • Update: Fixed icon-size option bug with pagination.

    Extensions

    • New(page-jump-to): Added min, max and enter support for jump input.
    • Update(export): Fixed export cannot work with materialize and foundation themes.
    • Update(filter-control): Updated filterDatepickerOptions to support datepicker option.
    • Update(filter-control): Fixed select bug when using & in the value.
    • Update(fixed-columns): Fixed toggleView display bug.
    • Update(group-by): Fixed not collapse detail view expanded row bug.
    • Update(group-by): Fixed display error using formatter column option.
    • Update(group-by): Fixed groupByFormatter option bug using in data attribute.
    • Update(multiple-sort): Fixed cannot work bug using in server sidePagination.
    • Update(page-jump-to): Fixed page jump input and button bug with icon-size option.
    • Update(print): Fixed print with rowspan or colspan.
    • Update(reorder-columns): Fixed reorder column when a column is removed or added.
    Source code(tar.gz)
    Source code(zip)
  • 1.18.0(Sep 19, 2020)

    Core

    • New(option): Added buttons to add custom buttons to the button bar.
    • New(option): Added footerField to support server side pagination.
    • New(option): Added new parameter value to footerFormatter.
    • New(option): Added searchHighlight and searchHighlightFormatter.
    • New(option): Added searchSelector to custom the search input.
    • New(event): Added BootstrapTable object as last parameter to all event.
    • New(css): Added CSS transitions for loading style.
    • New: Added support for style attribute of tr or td.
    • New: Added ability to use colspan in the footer.
    • Update: Updated search input type from text to search.
    • Update: Fixed normalize not string bug when using searchAccentNeutralise.
    • Update: Fixed complex group header bug.
    • Update: Fixed resize and scroll event bug with multiple tables.
    • Update: Fixed getScrollPosition bug when using group-by extension.
    • Update: Fixed updateRow with customSearch and sortReset bug.
    • Update: Fixed colspan and mergeCell bug when using detailFormatter.
    • Update: Fixed init bug when using onPostBody.
    • Update: Fixed sort bug when the field is set to 0.
    • Update: Fixed showFooter display bug after resize table width.
    • Update: Fixed not update selected rows bug when using checkAll/uncheckAll.
    • Update: Fixed checked property bug using formatter when the field has a value.
    • Update: Fixed default data shared bug with multiple tables.
    • Remove(method): Removed getAllSelections method.

    Extensions

    • New(addrbar): Added support for client side pagination.
    • New(cookie): Added cookieSameSite option to prevent breaking changes.
    • New(group-by): Added groupByToggle and groupByShowToggleIcon options.
    • New(group-by): Added groupByCollapsedGroups option to allow collapse groups.
    • Update(cookie): Fixed cookie size is too big bug when saving columns.
    • Update(cookie): Fixed checkbox column disappears bug.
    • Update(export): Fixed cannot export all data bug with pagination.
    • Update(group-by): Fixed scrollTo not working properly bug.
    • Update(multiple-sort): Fixed cannot work bug.
    • Update(sticky-header): Fixed vertical scroll cannot work bug.
    Source code(tar.gz)
    Source code(zip)
  • 1.17.1(Jul 11, 2020)

    Core

    • New: Added bootstrap-table theme without any framework.
    • New: Added support for Bootstrap v5.
    • New: Added $index field for remove method.
    • New: Added on-all event for vue component.
    • New: Added bg-BG locale.
    • New: Added loadingFontSize option.
    • New: Added loadingTemplate option.
    • New: Added detailView support for cardView.
    • New: Added the searchable columns to the query params for server side.
    • New: Added collapseRowByUniqueId and expandRowByUniqueId methods.
    • New: Added detailViewAlign option for the detail view icon.
    • New: Added tr class support for thead.
    • New: Added formatted parameter for getData method to get formatted data.
    • New: Added paginationParts option instead of onlyInfoPagination.
    • New: Added sortReset option to reset sort on third click.
    • New: Added support for auto merge the table body cells.
    • Update: Fixed updateByUniqueId method cannot update multiple rows bug.
    • Update: Fixed insertRow not write to source data array bug.
    • Update: Fixed events bug with detailViewIcon option.
    • Update: Fixed server side pagination sort bug.
    • Update: Fixed the page-change event before init server.
    • Update: Fixed no records found colspan error.
    • Update: Fixed the page-change event before init server.
    • Update: Fixed font-size of the loading text.
    • Update: Fixed table border bug when table is hidden.
    • Update: Fixed showRow method show all hidden rows bug.
    • Update: Fixed columnsSearch non-unique id warning.
    • Remove: Removed the onlyInfoPagination option.
    • Remove: Removed accent neutralise extension and moved it to core.

    Extensions

    • New(cookie): Added support for toggle all columns options.
    • New(custom-view): Added custom-view extension.
    • New(editable): Added alwaysUseFormatter option.
    • New(export): Added forceHide column option.
    • New(filter-control): Added filterOrderBy column option support order by server.
    • New(filter-control): Added radio support for filterControlContainer.
    • New(filter-control): Added support for array filter.
    • New(filter-control): Added filterControlVisible option and toggleFilterControl method.
    • New(filter-control): Added showFilterControlSwitch option.
    • New(fixed-columns): Added support for sticky-header.
    • New(pipeline): Added pipeline extension.
    • New(print): Added support for print footer and merge cells.
    • Update(accent-neutralise): Fixed comparison with arrays.
    • Update(cookie): Updated cookie columns to always visible when switchable is false.
    • Update(cookie): Fixed cookie value from existing options bug.
    • Update(copy-rows): Fixed copy rows bug with fixed-column.
    • Update(editable): Fixed not handle quotation marks bug.
    • Update(editable): Updated noeditFormatter to noEditFormatter.
    • Update(export): Fixed export error with maintainMetaData and clientSidePagination.
    • Update(filter-control): Fixed not work with height option.
    • Update(filter-control): Fixed not work in multiple tables.
    • Update(filter-control): Fixed ignore default search text bug.
    • Update(filter-control): Fixed not work with html formatter.
    • Update(filter-control): Fixed reset filterBy method bug.
    • Update(filter-control): Fixed issue with a custom filter control container.
    • Update(filter-control): Fixed filter control disappear after column switched.
    • Update(fixed-columns): Fixed loading message not hide bug.
    • Update(group-by): Fixed params error of checkAll/uncheckAll.
    • Update(multiple-sort): Fixed not working with multiple level field bug.
    • Update(reorder-columns): Fixed cannot work bug.
    • Update(reorder-rows): Fixed this context of onPostBody error.
    • Update(treegrid): Fixed treegrid destroy bug.
    Source code(tar.gz)
    Source code(zip)
  • 1.16.0(Feb 11, 2020)

    Core

    • New: Added buttonsOrder option.
    • New: Added headerStyle option.
    • New: Added showColumnsSearch option.
    • New: Added serverSort option.
    • New: Added unfiltered parameter for getData method.
    • Update: Updated event name to lowercase hyphen format for vue component.
    • Update: Updated es-AR locale.
    • Update: Updated the default classes of semantic theme.
    • Update: Improved the resize problem with multiple tables.
    • Update: Fixed checkAll event bug with sortable checkbox field.
    • Update: Fixed checkbox and not-found td style errors.
    • Update: Fixed customSearch return empty array bug.
    • Update: Fixed column checkboxes not being disabled when using toggleAll.
    • Update: Fixed flat not polyfilled error in vue cli3.
    • Update: Fixed height and border not aligned bug.
    • Update: Fixed jqXHR undefined error using custom ajax.
    • Update: Fixed pageSize set to all bug with filter.
    • Update: Fixed refreshOptions bug with radio and checkbox.
    • Update: Fixed removeAll bug in the last page when sidePagination is server.
    • Update: Fixed search not always trigger in IE11 bug.
    • Update: Fixed search width escape bug.
    • Update: Fixed showColumns cannot work of foundation theme.
    • Update: Fixed showFullscreen bug when setting height.
    • Update: Fixed sort cannot work after searching.
    • Update: Fixed sortable style error when using table-sm.
    • Update: Fixed sortStable not work bug.
    • Update: Fixed triggerSearch not work bug.
    • Update: Supported build cross all platforms.
    • Remove: Removed resetWidth method and use resetView instead.

    Extensions

    • New(cookie): Added new options to get/set/delete the values by a custom function.
    • New(cookie): Added save re-order and resize support.
    • New(filter-control): Added filterControlContainer option.
    • New(filter-control): Added filterCustomSearch option.
    • New(filter-control): Added object and function support in filterData column option.
    • New(filter-control): Added support for using sticky-header extension.
    • New(filter-control): Added support comparisons search(<, >, <=, =<, >=, =>).
    • New(fixed-columns): Added all themes support.
    • New(fixed-columns): Added fixedRightNumber option.
    • New(fixed-columns): Added support for using filter-control extension.
    • New(group-by): Add Array support for groupByField option.
    • New(group-by): Added customSort option support.
    • New(multiple-sort): Added custom sorter support.
    • New(multiple-sort): Added multiSortStrictSort option.
    • New(multiple-sort): Added multiSort method.
    • New(print): Added printFormatter data-attribute support.
    • New(reorder-columns): Added orderColumns method.
    • New(reorder-rows): Added search and cardView supported.
    • New(sticky-header): Added support for all themes.
    • New(toolbar): Added support for all themes.
    • New(reorder-rows): Added search and cardView support.
    • Update(cookie): Fixed cookie localeStorage not work bug with filter-control.
    • Update(cookie): Fixed minimumCountColumns not working bug.
    • Update(cookie): Improved cookiesEnabled to support ' in data-attribute.
    • Update(editable): Fixed formatter bug if the column was edited.
    • Update(filter-control): Fixed hideUnusedSelectOptions not work bug.
    • Update(filter-control): Fixed filter not work bug with undefined.
    • Update(filter-control): Fixed missing parameter of resetSearch and filterDataType.
    • Update(filter-control): Fixed search with filter-control search bug.
    • Update(filter-control): Fixed the value of select display error using editable.
    • Update(fixed-columns): Fixed checkbox bug with fixed columns.
    • Update(fixed-columns): Updated default value to 0 of fixedNumber option.
    • Update(group-by): Improved number type support.
    • Update(group-by): Fixed new table using modal bug.
    • Update(group-by): Fixed scrollTo method using group-by.
    • Update(mobile): Fixed input keyboard bug.
    • Update(multiple-sort): Fixed not destroy bug.
    • Update(multiple-sort): Fixed sort not work with boolean bug.
    • Update(print): Improved to use undefinedText option.
    • Update(print): Fixed IE11 not work bug.
    • Update(reorder-columns): Fixed detail view column reorder bug.
    • Update(resizable): Fixed columns resizing not work bug.
    • Update(resizable): Fixed not work via JavaScript.
    • Update(sticky-header): Fixed not work bug with fullscreen.
    • Update(treegrid): Fixed virtualScroll option bug.
    • Remove: Removed natural-sorting extension.
    Source code(tar.gz)
    Source code(zip)
  • 1.15.5(Oct 12, 2019)

    • New: Added jqXHR for responseHandler option and onLoadSuccess event.
    • New: Added stickyHeaderOffsetLeft and stickyHeaderOffsetRight for sticky-header.
    • New: Added Serbian RS cyrillic and latin locales.
    • Update: Improved export button when there is only one type.
    • Update: Fixed column events click error with detailView.
    • Update: Fixed bug for searchOnEnterKey and showSearchButton are true.
    • Update: Fixed onScrollBody event and added parameter.
    • Update: Fixed search input size bug with iconSize option.
    • Update: Fixed filter control select cannot work more than one table.
    • Update: Fixed virtual scroll to top error when using append method.
    • Update: Fixed events cannot work on virtual scroll.
    • Update: Fixed bottom border bug with height option.
    • Update: Fixed min version throw cannot convert object to primitive value error.
    Source code(tar.gz)
    Source code(zip)
  • 1.15.4(Aug 13, 2019)

    • New: Added query to queryParams option.
    • New: Added filter parameter of customSearch option.
    • Update: Fixed search bug in hidden columns.
    • Update: Fixed table zoom width calculating bug.
    • Update: Fixed events of column formatted by nested table.
    • Update: Fixed checkbox style display bug.
    • Update: Fixed stack overflow error of checkBy method.
    • Update: Fixed showSearchButton and showSearchClearButton style bug.
    • Update: Fixed filter-control select null value handle error.
    • Update: Fixed showSearchClearButton bug in filter-control extension.
    • Update: Fixed print button appears twice bug.
    Source code(tar.gz)
    Source code(zip)
  • 1.15.3(Jul 11, 2019)

    • New: Added nl-BE, fr-CH and fr-LU locale.
    • Update: Updated nl-NL, pt-BR, fr-BE, fr-FR, nl-BE and nl-NL locale.
    • Update: Fixed treegrid duplicate rows bug.
    • Update: Fixed updateCellByUniqueId method bug on a filtered table.
    • Update: Fixed colspan group header display bug.
    • Update: Fixed table footer display bug in some case.
    • Update: Fixed getOptions bug.
    • Update: Fixed detailView bug when hiding columns.
    • Update: Fixed IE minify bug.
    • Update: Fixed full screen scrolling bug.
    Source code(tar.gz)
    Source code(zip)
  • 1.15.2(Jun 24, 2019)

    Core

    • New: Added virtualScroll and virtualScrollItemHeight options to support large data.
    • New: Added vue component support.
    • New: Added support comparisons search(<, >, <=, =<, >=, =>).
    • New: Added detailViewByClick table option and detailFormatter column option.
    • New: Added showExtendedPagination and totalNotFilteredField table options.
    • New: Added widthUnit option to allow any unit.
    • New: Added multipleSelectRow option to support ctrl and shift select.
    • New: Added onPostFooter(post-footer.bs.table) event.
    • New: Added detailViewIcon and toggleDetailView method to hide the show/hide icons.
    • New: Added showSearchButton and showSearchClearButton options to improve the search.
    • New: Added showButtonIcons and showButtonText options to improve the icons display.
    • New: Added visibleSearch option search only on displayed/visible columns.
    • New: Added showColumnsToggleAll option to toggle all columns.
    • New: Added cellStyle to support checkbox field.
    • New: Added checkbox and radio auto checked from html support.
    • New: Added screen reader support for pagination.
    • New: Added travis lint src and check docs scripts.
    • New: Added webpack support and user rollup to build the src.
    • New: Added a version number property.
    • New: Improved filterBy method with or condition and custom filter algorithm.
    • New: Improved showColumn and hideColumn methods with array of fields.
    • New: Improved scrollTo method to allow rows units.
    • Update: Rewrote all code to ES6.
    • Update: Improved pageList options to support localization.
    • Update: Improved the totalRows option.
    • Update: Improved table footer.
    • Update: Improved getSelections and getAllSelections methods.
    • Update: Improved css frameworks themes.
    • Update: Updated parameters of the getData method.
    • Update: Updated parameters of the (un)checkAll events to rowsAfter, rowsBefore.
    • Update: Updated parameters of the updateRow method to support replace.
    • Update: Updated page number to 1 while making a server side sort.
    • Update: Renamed table maintainSelected option to maintainMetaData.
    • Update: Renamed method refreshColumnTitle to updateColumnTitle.
    • Update: Fixed card view value to be aligned incorrectly bug.
    • Update: Fixed smartDisplay option pagination bug.
    • Update: Fixed data-* attribute is an object bug.
    • Update: Fixed page separators click bug.
    • Update: Fixed scrolling bug in IE11.
    • Update: Fixed initHeader error caused by toggleColumn.
    • Update: Fixed search input trigger multiple times bug.
    • Update: Fix Pagination/totalRows not updated on hideRow.
    • Update: Fixed columns title error.

    Extensions

    • New(editable): Added onExportSaved event.
    • New(export): Added forceExport column option force export columns with hidden.
    • New(export): Added function support of fileName option.
    • New(filter-control): Added filterDataCollector to control the filter select options.
    • New(filter-control): Added filterOrderBy and filterDefault column options.
    • New(multiple-sort): Added bootstrap v4 theme support.
    • New(print): Added RTL dir support.
    • Remove: Removed group-by, multi-column-toggle, multiple-search, multiple-selection-row, select2-filter and tree-column extensions.
    • Update(cookie): Fixed cookie search cannot work bug.
    • Update(editable): Updated parameters of onEditableSave to field, row, rowIndex, oldValue, $el.
    • Update(editable): Fixed editable rerender bug after saving data.
    • Update(export): Updated to only export table header.
    • Update(export): Fixed bug with the footer extensions while sorting.
    • Update(filter-control): Added ability to handle boolean.
    • Update(filter-control): Fixed DatePicker of filter-control does not work bug.
    • Update(filter-control): Fixed clear filterControl with Cookie bug.
    • Update(filter-control): Fixed loading screen with filter control.
    • Update(filter-control): Fixed overwriting the searchText bug.
    • Update(filter-control): Fixed filtering does not work json sub-object.
    • Update(filter-control): Fixed select filter with formatter.
    • Update(multiple-sort): Fixed multiple-sort does not work with data-query-params bug.
    • Update(page-jump-to): Fixed click bug when paginationVAlign is 'both'.
    • Update(reorder-columns): Fixed reorder columns cannot work bug.
    • Update(reorder-columns): Fix search and columns bug after reorder columns.
    • Update(treegrid): Fixed treegrid cannot work bug.
    Source code(tar.gz)
    Source code(zip)
Owner
文翼
Fullstack Engineer
文翼
Macaron is an open-source design tool to visually create Web Components, which can be used in most Web frameworks, or in vanilla HTML/JavaScript

Macaron is an open-source design tool to visually create Web Components, which can be used in most Web frameworks, or in vanilla HTML/JavaScript

Macaron 334 Dec 29, 2022
✏️ A small jQuery extension to turn a static HTML table into an editable one. For quickly populating a small table with JSON data, letting the user modify it with validation, and then getting JSON data back out.

jquery-editable-table A small jQuery extension to turn an HTML table editable for fast data entry and validation Demo ?? https://jsfiddle.net/torrobin

Tor 7 Jul 31, 2022
Another table select prompt plugin of inquirer.js, with powerful table render and filters.

inquirer-table-select-prompt Table row selection prompt for Inquirer.js 动机 现有的 inquirer.js 没有支持表格行选中的命令行交互的插件. 社区内能查找到的,只有一个二维数组的 checkbox,eduardobouc

锂电 3 Jan 7, 2023
Extended magic-string with extra utilities

DEPRECATED. It has been ported back to magic-string >= 0.26.0 magic-string-extra Extended Rich-Harris/magic-string with extra utilities. Install npm i

Anthony Fu 130 Sep 8, 2022
Simple and Extensible Markdown Parser for Svelte, however its simplicity can be extended to any framework.

svelte-simple-markdown This is a fork of Simple-Markdown, modified to target Svelte, however due to separating the parsing and outputting steps, it ca

Dave Caruso 3 May 22, 2022
A plugin that provides utilities for extended backgrounds and borders.

tailwindcss-full-bleed A plugin that provides utilities for extended backgrounds and borders. Demo Installation Install the plugin from npm: npm insta

Doğukan Çavuş 8 Dec 24, 2022
Extended version of create-t3-app to make it even faster to start (or maybe slower)

create-T3-app with extra tools/config out of the box create-t3-app is one of the fastest and easiest way to scaffold fullstack app. create-t3-extended

A Riolly C 7 Jan 4, 2023
Obsidian plugin allowing for linking to a heading range, in the [[Page#HeaderA#HeaderB]] extended wikilink format.

Obsidian Link Heading Range Plugin This is a plugin for Obsidian (https://obsidian.md). It allows linking to a heading range, in the [[Page#HeaderA#He

Anthropologie Biblique 7 Nov 14, 2022
Mini projects built with HTML5, CSS & JavaScript. No frameworks or libraries

20+ Web Projects With Vanilla JavaScript This is the main repository for all of the projects in the course. Course Link Course Info Website # Project

Brad Traversy 14.1k Jan 4, 2023
tooldb is a (soon) massive collection of frameworks and tools. It's build on Flowbite, Next.js, Tailwind CSS and uses Supabase.

tooldb is a (soon) massive collection of frameworks and tools. It's build on Flowbite, Next.js, Tailwind CSS and uses Supabase.

Julian Yaman 12 Jul 14, 2022
A simple react project that contain a single page application (SPA) And a simple caculator to make some calculation and there is a section you can see some Math quotes. Ⓜ💯

A simple react project that contain a single page application (SPA) And a simple caculator to make some calculation and there is a section you can see some Math quotes. Ⓜ??

Reem janina 7 May 31, 2022
This Repo Contains projects that demonstrate some concepts / algorithms / implemetation in some form of digital visualisation

Hacktoberfest 2022 OPEN FIRST Pull Request - GET STARTED WITH OPENSOURCE AND WIN SOME AWWSOME SWAGS ?? Contributors of Hacktoberfest 2022 This project

null 5 Nov 7, 2022
The most often-used OOP design patterns in TypeScript

The most often-used OOP design patterns Generating patterns Factory method Abstract factory Builder Prototype Singleton Structural patterns Adapter Br

Rodion 4 Mar 11, 2022
Gitmand - display your most used command on GitHub/Gist

Gitmand - display your most used command on GitHub/Gist

yuyin 12 Oct 27, 2022
This restaurant project is a SPA (single-page application) website. The user can navigate between the home, menu and contact page. I used the MealDB API to display some menu items.

Fresh Cuisine This restaurant project is from the Odin Project and it is a SPA (single-page application) website. The user can navigate between the ho

Virag Kormoczy 7 Nov 2, 2022
This blog is still under development! I present a project scope for science articles, it can now be used in production! But there are some details that need to be put up front.

Science-Blog ?? Attention! This blog is still under development! I present a project scope for science articles, it can now be used in production! But

Raissadev 2 Sep 19, 2022
This package will help parse OData strings (only the Microsoft Dataverse subset). It can be used as a validator, or you can build some javascript library which consumes the output of this library.

@albanian-xrm/dataverse-odata This package will help parse OData strings (only the Microsoft Dataverse subset). It can be used as a validator, or you

AlbanianXrm 3 Oct 22, 2022
An users NodeJS API without packages libs or frameworks!

NodeJS Users API - Without Frameworks And Packages ?? Table of Contents About Getting Started Usage Built Using Authors ?? About Purpose of this proje

Nathan Cotrim Lemos 31 Feb 7, 2022