npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

jqgrid_utils

v1.30.0

Published

Convenient Functions for the Free jqGrid

Downloads

107

Readme

Jqgrid_utils

Convenient Functions for free jqGrid

How to install:

   npm install jqgrid_utils 

Usage:

  <script src="../node_modules/jqgrid_utils/dist/jqgrid_utils.js"></script>

Example:

  let jqu = new Jqgrid_utils();

Source: https://github.com/myridia/jqgrid_utils/actions

Jqgrid_utils

A module for Jqgrid_utils

module.exports#update_row_to_api(_self, api, _ids, row) ⏏

Takes the updated columns data and send it to your API post server loadComplete: async function() for the old record needs to be called, see example !

Kind: Exported function

| Param | Type | Description | | --- | --- | --- | | _self | object | Grid Object (required) | | api | string | API URL like https://foo.com (required) | | _ids | array | id list, ids from the column header (required) | | row | object | settings - extra key:value to send to your server |

Example

var jqu = new Jqgrid_utils({page:page});

....},
    loadComplete: async function()
    {
       $grid.jqGrid('setGridParam',{record_data:$grid.jqGrid("getGridParam").data});
    },
      afterSetRow: async function(row)
      {
        const _api = await get_api_url('sapir');
        const api = _api + '/column2';
        let info = {"msg":"failed"};
        var jqu = new Jqgrid_utils();
        info = await jqu.update_row_to_api($grid, api,['id'],row,{server : '232',db : 'sl_h',table : 'kpi',});
        for(let i in info)
        {
          log.info(info[i]);
        }
      },

module.exports#delete_row_to_api(_self, api, rowid, _ids, data) ⏏

After Delete a Grid Row send to and DELETE REST Request You need to define loadComplete and afterDelRow The Grid data needs to be saved as record within loadComplete

Kind: Exported function

| Param | Type | Description | | --- | --- | --- | | _self | object | Grid Object (required) | | api | string | API URL like https://foo.com (required) | | rowid | string | the row id value from afterDelRow (required) | | _ids | array | id list, ids from the column header colmodel (required) | | data | object | settings - extra key:value to send to your server |

Example

loadComplete: async function()
    {
       $grid.jqGrid('setGridParam',{record_data:$grid.jqGrid("getGridParam").data});
    },
      afterDelRow: async function(rowid)
      {
        const _api = await get_api_url('sapir');
        const api = _api + '/column2';
        let info = {"msg":"failed"};
          var jqu = new Jqgrid_utils();
    
          info = await jqu.delete_row_to_api($grid,api,rowid,['id'],{
              server : '232',
              db : 'sl_h',
              table : 'kpi',
              operator: 'delete',
        });
        log.info(JSON.parse(info).msg);
      },

module.exports#append_seperator_link_column(col_model, url, field_value, base, attr, keys) ⏏

Append and sperator based link column to the end of a row

Kind: Exported function

| Param | Type | Description | | --- | --- | --- | | col_model | object | col_model of the grid | | url | string | URL string | | field_value | string | field value - the visible text of the anchor | | base | object | base row key value - like {"name":'wiki','label':"Wiki"} | | attr | string | URL Attributes | | keys | object | keys and fields value to use |

Example

var jqu = new Jqgrid_utils();
col_model = await jqu.append_seperator_link_column(col_model, 'http://wiki.foo.com/index.php' ,'Wiki',{"name":'wiki','label':"Wiki","width":"65px","align":"center"} ,'target="_blank"',{"report_central":"name"});

module.exports#add_edit(col_model) ⏏

add textarea

Kind: Exported function

| Param | Type | Description | | --- | --- | --- | | col_model | object | edittype like |

Example

let col_model = JSON.parse(await aget_api(url + "/model"));
col_model = await jqu.add_edit(col_model, 'mon',{ edittype:'textarea', editoptions:{rows:6,cols:100} });
see for other inputfields: 
http://www.trirand.com/blog/phpjqgrid/doc/_2v80w6oam.htm

module.exports#add_textarea(col_model, edit_field) ⏏

add textarea

Kind: Exported function

| Param | Type | Description | | --- | --- | --- | | col_model | string | edit_filed | | edit_field | string | style of the textaread |

Example

let col_model = JSON.parse(await aget_api(url + "/model"));
col_model = await jqu.add_textarea(col_model, 'worker','style="width:100%;height:100px"');

module.exports#get_col_model_from_data(obj, data, exclude, col_model) ⇒ array

Get basic colModel data from raw data

Kind: Exported function
Returns: array - - col_model

| Param | Type | Description | | --- | --- | --- | | obj | array | grid object | | data | array | raw data object from loadComplete | | exclude | array | list of columns to exclude (optional) | | col_model | array | existing colModel (optional) |

Example

var jqu = new Jqgrid_utils();
,loadComplete: async function(data)
{
  let col_model = jQuery(this).jqGrid('getGridParam',"colModel");
  const new_col_model= await update_col_model(this, data, ['id','cust_qty','waiting_supplier_orders','waiting_assemblies','pending_components','pending_customer_order',col_model);
  jQuery(this).jqGrid('setGridParam',{colModel:new_col_model});
},

module.exports#binary_replace(cell_value, a, b) ⏏

Replace a Binaery 0 or 1 to other given value

Kind: Exported function

| Param | Type | Default | Description | | --- | --- | --- | --- | | cell_value | string | | cell value | | a | string | "zero" | string replacement for 0 | | b | string | "one" | string replacement for 1 |

Example

var jqu = new Jqgrid_utils();
let _data = jqu.binery_replace(0,'zero','one');
or for column formatter
download_formatter:"var jqu = new Jqgrid_utils();jqu.binary_replace({0},'zero','one')"});

module.exports#_date112_to_DMY(cell_value, seperator) ⏏

Convert a 112 date string to a DMY format with sepertaor - sync function

Kind: Exported function

| Param | Type | Default | Description | | --- | --- | --- | --- | | cell_value | string | | date string | | seperator | string | "/" | seperator used |

Example

var jqu = new Jqgrid_utils();
let _data = jqu._date112_to_DMY('20220104','/');
console.log(_data);

module.exports#date112_to_DMY(col_model, edit_field, seperator) ⏏

Convert a 112 date to a DMY format with sepertaor

Kind: Exported function

| Param | Type | Default | Description | | --- | --- | --- | --- | | col_model | object | | col_model of the grid | | edit_field | string | | name of the date 112 column what should get converted | | seperator | string | "/" | seperator used |

Example

var jqu = new Jqgrid_utils();
let _data = await jqu.date112_to_DMY(this,'field','/');
console.log(_data);

module.exports#add_formatter(col_model, edit_field, formatter) ⏏

Add Formatter

Kind: Exported function

| Param | Type | Description | | --- | --- | --- | | col_model | array | grid col_model | | edit_field | string | string columns names what will be formatted | | formatter | object | formatter object like { formatter: "select", formatoptions: {value: "1:ok;0:fail", defaultValue: "1" }} |

Example

var jqu = new Jqgrid_utils();
col_model = await jqu.add_formatter(col_model,'select',{ formatter: "select", formatoptions: {value: "1:ok;0:fail", defaultValue: "1" }})

module.exports#natural_sort(col_model, column_name) ⇒ array

Natural Sort Column

Kind: Exported function
Returns: array - - col_model

| Param | Type | Description | | --- | --- | --- | | col_model | array | grid col_model | | column_name | string | string columns names for natural sorting |

Example

var jqu = new Jqgrid_utils();
col_model = await jqu.natural_sort(col_model,'colunmename');

module.exports#add_html_formatter(col_model, edit_field, html) ⇒ array

Add HTML Formatter

Kind: Exported function
Returns: array - - col_model

| Param | Type | Description | | --- | --- | --- | | col_model | array | grid col_model | | edit_field | string | string columns names what will be converted to ok buttons | | html | string | html tag code |

Example

var jqu = new Jqgrid_utils();
col_model = await jqu.add_html_formatter(col_model,'process',"<button tabindex='0' class='cellbtn' type='button'>Process</button>");

module.exports#add_ok_button(col_model, fields) ⇒ array

Add an OK Button

Kind: Exported function
Returns: array - - col_model

| Param | Type | Description | | --- | --- | --- | | col_model | array | grid col_model | | fields | array | list of columns names what will be converted to ok buttons |

Example

var jqu = new Jqgrid_utils();
col_model = await jqu.add_ok_button(col_model, ['checked']);

module.exports#get_filled_cell_table_data(_grid, fields) ⇒ array

Get the filled cell data

Kind: Exported function
Returns: array - - table array

| Param | Type | Description | | --- | --- | --- | | _grid | object | the grid object or its name | | fields | array | list of columns names what will be collected |

Example

var jqu = new Jqgrid_utils();
col_model = await jqu.set_link(col_model,'av0_code','url_code','target="blank"');

module.exports#get_filled_cell_data(_grid, fields) ⇒ object

Get the filled cell data

Kind: Exported function
Returns: object - - json object of the colleted fields

| Param | Type | Description | | --- | --- | --- | | _grid | object | the grid object or its name | | fields | array | list of columns names what will be collected |

Example

var jqu = new Jqgrid_utils();
col_model = await jqu.set_link(col_model,'av0_code','url_code','target="blank"');

module.exports#set_link(col_model, edit_field, url) ⇒ object

Add an URL from the data to a specific cell/column

Kind: Exported function
Returns: object - https://foo.bar.com/av0_code/bar

| Param | Type | Description | | --- | --- | --- | | col_model | object | col_model of the grid | | edit_field | string | name of the column what should get convert to the url | | url | string | the used url of the data |

Example

var jqu = new Jqgrid_utils();
let _data = await jqu.get_filled_cell_data(this,["P-","bulk","wholesale"]);
console.log(_data);

module.exports#hide_all_columns_except(col_model, fields) ⇒ object

Hide all columns execpt column

Kind: Exported function
Returns: object - col_model

| Param | Type | Description | | --- | --- | --- | | col_model | object | col_model of the grid | | fields | array | array of names to not to hide |

Example

col_model = await jqu.hide_all_columns_except(col_model,['supplier','customer']);

module.exports#hide_column(col_model, field) ⇒ object

Hide a col_model column before load the grid

Kind: Exported function
Returns: object - col_model

| Param | Type | Description | | --- | --- | --- | | col_model | object | col_model of the grid | | field | string | name of the column to hide |

Example

col_model = await jqu.hide_column(col_model,'wholesale');
  col_model = await jqu.hide_column(col_model,'wholesale_formula');

module.exports#s_grid_set_caption(_grid, data) ⏏

Kind: Exported function

| Param | Type | Description | | --- | --- | --- | | _grid | object | gridobject; | | data | object | grid data (optional); |

Example

var jqu = new Jqgrid_utils();
loadComplete: function(){
  jqu.grid_set_caption(this);
},

module.exports#grid_set_caption(_grid, data) ⏏

Adding the row count number to the caption

Kind: Exported function

| Param | Type | Description | | --- | --- | --- | | _grid | object | gridobject; | | data | object | grid data (optional); |

Example

var jqu = new Jqgrid_utils();
loadComplete: function(){
  await jqu.grid_set_caption(this);
},

module.exports#s_resize_saved_cell_width(col_model, page, grid) ⏏

Kind: Exported function

| Param | Type | Default | Description | | --- | --- | --- | --- | | col_model | object | | the col_model of the grid | | page | string | false | the name of the page(optional) | | grid | object | false | the grid objec(optional) |

Example

col_model = await jqu.resize_saved_cell_width(col_model);

module.exports#resize_saved_cell_width(col_model, page, grid) ⏏

Kind: Exported function

| Param | Type | Default | Description | | --- | --- | --- | --- | | col_model | object | | the col_model of the grid | | page | string | false | the name of the page(optional) | | grid | object | false | the grid objec(optional) |

Example

col_model = await jqu.resize_saved_cell_width(col_model);

module.exports#resize_cell(the, column, not) ⏏

Kind: Exported function

| Param | Type | Description | | --- | --- | --- | | the | string | width of the resized column | | column | string | number what get resized | | not | string | in use yet |

Example

var jqu = new Jqgrid_utils({page:'mypage'});
resizeStop: jqu.resize_cell,

module.exports#upsert_row(row, url, req) ⇒ object

Upsert(insert or update) from the grid to an API

Kind: Exported function
Returns: object - {update: 'ok'} or {update: 'failed'}

| Param | Type | Description | | --- | --- | --- | | row | object | row object | | url | string | url of the API | | req | string | data oject |

Example

var jqu = new Jqgrid_utils();
afterSetRow: async function(row)
{
  let r = await jqu.upsert_row(row, 'http://api.com',{'key':'value'});
  console.log(r);
},

module.exports#insert_row(row, url) ⇒ object

Insert from the grid to an API used by the upsert_row function

Kind: Exported function
Returns: object - Object from the the API like {update: 'ok'} or {update: 'failed'}

| Param | Type | Description | | --- | --- | --- | | row | object | row object | | url | string | URL of the API |

Example

var jqu = new Jqgrid_utils();
afterSetRow: async function(row)
{
  let r = await jqu.insert_row(row, 'http://api.com');
  console.log(r);
},

module.exports#update_row(row, url, req) ⇒ object

Update from the grid to an API used by the upsert_row function

Kind: Exported function
Returns: object - Object from the the API like {update: 'ok'} or {update: 'failed'}

| Param | Type | Description | | --- | --- | --- | | row | object | row object | | url | string | url of the API | | req | string | data oject |

Example

var jqu = new Jqgrid_utils();
afterSetRow: async function(row)
{
  let r = await jqu.update_row(row, 'http://api.com',{'key':value});
  console.log(r);
},

module.exports#delete_row(_id, url) ⇒ object

Delete from the grid to an API

Kind: Exported function
Returns: object - @returns {object} Object from the the API like {delete: 'ok'} or {delete: 'failed'}

| Param | Type | Description | | --- | --- | --- | | _id | string | row id | | url | string | url of the API |

Example

var jqu = new Jqgrid_utils();
afterDelRow: async function(row)
{
  const r = await jqu.delete_row('id', 'http://api.com');
  console.log(r + ' : ' + row + ' - from API');
},

module.exports#adelete_api(url, json) ⇒ object

Async Delete request used by function delete_row

Kind: Exported function
Returns: object - @returns {object} Object from the the API like {delete: 'ok'} or {delete: 'failed'}

| Param | Type | Default | Description | | --- | --- | --- | --- | | url | string | | url of the API | | json | boalan | false | header should be json type? default form type |

Example

var jqu = new Jqgrid_utils();
afterDelRow: async function(row)
{
  ret = JSON.parse(await jqu.adelete_api(url));
},

module.exports#post_json(url, data) ⇒ object

Async Post request used by the update_row function

Kind: Exported function
Returns: object - @returns {object} Object from the the API like {update: 'ok'} or {update: 'failed'}

| Param | Type | Description | | --- | --- | --- | | url | string | url of the API | | data | object | json object |

Example

var jqu = new Jqgrid_utils();
ret = JSON.parse(await jqu.post_json(url,{'key':value,'key2':'value'}));

module.exports#put_json(url, data) ⇒ object

Async Put request used by the insert_row function

Kind: Exported function
Returns: object - @returns {object} Object from the the API like {insert: 'ok'} or {insert: 'failed'}

| Param | Type | Description | | --- | --- | --- | | url | string | url of the API | | data | object | json object |

Example

var jqu = new Jqgrid_utils();
ret = JSON.parse(await jqu.put_json(url,{'key':value,'key2':'value2'}));

module.exports#s_hide_del_icon() ⏏

Hide the del iconf rom the grid

Kind: Exported function
Example

var jqu = new Jqgrid_utils();
jqu.hide_del_icon();

module.exports#hide_del_icon() ⏏

Hide the del iconf rom the grid

Kind: Exported function
Example

var jqu = new Jqgrid_utils();
await jqu.hide_del_icon();

module.exports#add_link_details_csv(col_model, url, edit_field, attr, keys, format, seperator) ⏏

Convert a cell into a link/url with data from another cell and spit the value by comma - CSV

Kind: Exported function

| Param | Type | Default | Description | | --- | --- | --- | --- | | col_model | object | | col_model of the grid | | url | string | | URL string | | edit_field | string | | Column/Cell to use | | attr | string | | URL Attributes | | keys | object | | keys and fields value to use | | format | object | | format info | | seperator | string | "," | seperator of the cell value to split (default is comma) |

Example

var jqu = new Jqgrid_utils();
col_model = await jqu.add_link_details_csv(col_model, host + '/html/report.html' , 'tags','target="_blank"',{"tags":"tags"},',');

module.exports#compare(obj, column1, column2, style) ⏏

Compare 2 columns and give them a style class when they have different content http://www.trirand.com/jqgridwiki/doku.php?id=wiki:methods

Kind: Exported function

| Param | Type | Description | | --- | --- | --- | | obj | object | grid object | | column1 | string | first column | | column2 | string | second column | | style | string | css class name |

Example

loadComplete: async function()
{
  await jqu.compare(this,'value','value_report','greenlight');
  }

module.exports#set_styles(obj, style_column) ⏏

Set styles to individual cells, what are defined in a dedicated column

Kind: Exported function

| Param | Type | Default | Description | | --- | --- | --- | --- | | obj | object | | grid object | | style_column | string | "styles" | name of the column what includes the style values what need to be in a strinify json format |

Example

var jqu = new Jqgrid_utils();
       loadComplete: async function() {
        await jqu.set_styles(this);
        },

module.exports#add_link_details(col_model, url, edit_field, attr, keys) ⏏

Convert a cell into a link/url with data from another cell

Kind: Exported function

| Param | Type | Description | | --- | --- | --- | | col_model | object | col_model of the grid | | url | string | URL string | | edit_field | string | Column/Cell to use | | attr | string | URL Attributes | | keys | object | keys and fields value to use |

Example

var jqu = new Jqgrid_utils();
col_model = await jqu.add_link_details(col_model,'http://foo.bar' , 'style','target="_blank"',{'key':'style'});
col_model = await jqu.add_link_details(col_model, host + '/html/table_size.html' , 'database','target="_blank"',{"database":"database","server":"server"});

module.exports#add_link_details_separator(col_model, url, edit_field, attr, keys) ⏏

Convert a cell into seperated based link/url like https://foo.bar.com/field/value/field/value

Kind: Exported function

| Param | Type | Description | | --- | --- | --- | | col_model | object | col_model of the grid | | url | string | URL string | | edit_field | string | Column/Cell to use | | attr | string | URL Attributes | | keys | object | keys and fields value to use |

Example

var jqu = new Jqgrid_utils();
col_model = await jqu.add_link_details_separator(col_model, url1 , 'style','target="_blank"',{"pricelist":"pricelist","style":"style"});                                         
col_model = await jqu.add_link_details_separator(col_model, 'https://foo.com' , 'target_column','target="_blank"',{"mykey":"myval"});

module.exports#add_link_separator(col_model, url, edit_field, fields) ⏏

Convert a cell into seperated based link/url include parameter based url like https://foo.bar.com/field.html?k=v

Kind: Exported function

| Param | Type | Description | | --- | --- | --- | | col_model | object | col_model of the grid | | url | string | URL string | | edit_field | array | array of dict | | fields | string | URL Attributes |

Example

var jqu = new Jqgrid_utils();
  col_model = await jqu.add_link_separator(col_model, host + '/html' , 'style',[
        {
            'field':'pricelist',
            'extension':'.html',
            'fields':{'style':'style'}
        }
    ]);
 //other example
 col_model = await jqu.add_link_separator(col_model, 'https://wiki.salamander-jewelry.net/index.php/grid_loss' , 'e',[{'field':'e'}],'target="_blank"');

module.exports#__cell_format() ⏏

Private Function

Kind: Exported function

module.exports#subgrid(_id, id, url, col_model, caption) ⏏

Kind: Exported function

| Param | Type | Description | | --- | --- | --- | | _id | string | row_id | | id | string | data id | | url | string | url to request | | col_model | object | col_model for the table | | caption | string | Add to the caption of the subgrid |

Example

subGrid: true,
,subGridRowExpanded: async function(_id, id) {
let data_url2 = api + '/process_locations?f=data&process=';
let col_model_url2 = api + '/process_locations?f=col_model';
let col_model2 = JSON.parse(await vwu.aget_api(col_model_url2));
await jqu.subgrid(_id, id, data_url2, col_model2,'Locations for Process');

let data_url = api + '/process_styles?f=data&process=';
let col_model_url = api + '/process_styles?f=col_model';
let col_model = JSON.parse(await vwu.aget_api(col_model_url));
 await jqu.subgrid(_id, id, data_url, col_model,'Styles for Process');
},

or

subGrid: true,
subGridRowExpanded: async function(_id, id) {
let row_data = jQuery(this).jqGrid ('getRowData', id);
let param={f:'data','style':row_data['style'],pricelist:'P-TENENGR1'};
let data_url = api + '/order_ln';
data_url = await add_parameters(data_url, param);
let col_model_url2 = api + '/order_ln?f=col_model';
let col_model2 = JSON.parse(await vwu.aget_api(col_model_url2));
await jqu.subgrid(_id, false, data_url, col_model2,'Order Lines for ' + row_data['style']);
},

module.exports#add_image(col_model, edit_field, size, link) ⏏

Kind: Exported function

| Param | Type | Default | Description | | --- | --- | --- | --- | | col_model | object | | col_model for the grid | | edit_field | string | | field what include the image/picture href path like http://mypicture.png | | size | int | | size of the picture | | link | bolen | false | image path should be a link |

Example

col_model = await jqu.add_image(col_model, image_field, 60, false);

module.exports#set_filter(grid, data, fx, append_to) ⏏

Add a filter to the website beside the grid

Kind: Exported function

| Param | Type | Default | Description | | --- | --- | --- | --- | | grid | object | | grid object or grid string name | | data | object | | the grid data object | | fx | object | | a dict with a array what should be filterd by the grid | | append_to | string | "#filter" | id name of the DOM oject where the filter should be appened |

Example

var jqu = new Jqgrid_utils();
var run_me_once = true;
gridComplete: async function(){
        if(run_me_once)
        {
          await jqu.set_filter(this, data, {material:[],section:[]}, '#filter');
          run_me_once = false;
        }
      },

module.exports#_filter() ⏏

private function of set_filter

Kind: Exported function