1+ ( function ( $ ) {
2+
3+ var grid , // The SlickGrid instance
4+ cols = [ // The column definitions
5+ { name : "Header" , field : "header" , width : 100 } ,
6+ { name : "Another Header" , field : "another-header" , width : 100 } ,
7+ { name : "Yet another header" , field : "y-a-header" , width : 100 } ,
8+ ] ,
9+ data = [ ] , // The grid data
10+ $container = $ ( "#container" ) ;
11+
12+ var $canvas , cellSelector , cellDecorator ;
13+
14+ // Create data
15+ for ( var i = 0 ; i < 10 ; i ++ ) {
16+ data . push ( {
17+ "id" : "row" + i ,
18+ "header" : "some data" ,
19+ "another-header" : "more data" ,
20+ "y-a-header" : "data data"
21+ } ) ;
22+ }
23+
24+ function setupGridWithValues ( ) {
25+ var $testgrid = $ ( '<div id="grid" />' ) ;
26+ $testgrid . height ( 600 ) ;
27+
28+ $ ( "#container" ) . append ( $testgrid ) ;
29+ grid = new Slick . Grid ( "#grid" , data , cols ) ;
30+ cellDecorator = new Slick . CellRangeDecorator ( grid , {
31+ offset : {
32+ top : 1 ,
33+ left : 1 ,
34+ height : 1 ,
35+ width : 1
36+ }
37+ } ) ;
38+ cellSelector = new Slick . CellRangeSelector ( { cellDecorator : cellDecorator } ) ;
39+ grid . setSelectionModel ( new Slick . CellSelectionModel ( { cellRangeSelector : cellSelector } ) ) ;
40+ grid . render ( ) ;
41+ $canvas = $ ( ".grid-canvas" ) ;
42+ }
43+
44+ function setupGridWithoutValues ( ) {
45+ var $testgrid = $ ( '<div id="grid" />' ) ;
46+ $testgrid . height ( 600 ) ;
47+
48+ $ ( "#container" ) . append ( $testgrid ) ;
49+ grid = new Slick . Grid ( "#grid" , data , cols ) ;
50+ cellDecorator = new Slick . CellRangeDecorator ( grid ) ;
51+ cellSelector = new Slick . CellRangeSelector ( { cellDecorator : cellDecorator } ) ;
52+ grid . setSelectionModel ( new Slick . CellSelectionModel ( { cellRangeSelector : cellSelector } ) ) ;
53+ grid . render ( ) ;
54+ $canvas = $ ( ".grid-canvas" ) ;
55+ }
56+
57+ function teardownGrid ( ) {
58+ $container . empty ( ) ;
59+ }
60+
61+ module ( "plugins - cellrangemodel receives a prebuilt decorator -" , {
62+ setup : function ( ) {
63+ setupGridWithValues ( ) ;
64+ } ,
65+ teardown : teardownGrid
66+ } ) ;
67+
68+ test ( "check the values passed on options are used" , function ( ) {
69+ var element = cellDecorator . show ( new Slick . Range ( 1 , 1 , 2 , 2 ) ) ;
70+ var resultCss = element [ 0 ] . style ;
71+
72+ deepEqual ( resultCss . top , "26px" , "CSS Property Top" ) ;
73+ deepEqual ( resultCss . left , "101px" , "CSS Property Left" ) ;
74+ deepEqual ( resultCss . height , "50px" , "CSS Property Height" ) ;
75+ deepEqual ( resultCss . width , "201px" , "CSS Property Width" ) ;
76+ } ) ;
77+
78+ module ( "plugins - cellrangemodel uses a default decorator -" , {
79+ setup : function ( ) {
80+ setupGridWithoutValues ( ) ;
81+ } ,
82+ teardown : teardownGrid
83+ } ) ;
84+
85+ test ( "check the values passed on options are used" , function ( ) {
86+ var element = cellDecorator . show ( new Slick . Range ( 1 , 1 , 2 , 2 ) ) ;
87+ var resultCss = element [ 0 ] . style ;
88+
89+ deepEqual ( resultCss . top , "24px" , "CSS Property Top" ) ;
90+ deepEqual ( resultCss . left , "99px" , "CSS Property Left" ) ;
91+ deepEqual ( resultCss . height , "47px" , "CSS Property Height" ) ;
92+ deepEqual ( resultCss . width , "198px" , "CSS Property Width" ) ;
93+ } ) ;
94+
95+
96+ } ) ( jQuery ) ;
0 commit comments