@@ -23,7 +23,6 @@ var PivotView = function (controller, container) {
2323 container : container ,
2424 base : document . createElement ( "div" ) ,
2525 tableContainer : undefined ,
26- controlsContainer : document . createElement ( "div" ) ,
2726 messageElement : undefined
2827 } ;
2928
@@ -82,6 +81,15 @@ PivotView.prototype.init = function () {
8281 _ . updateSizes . call ( _ ) ;
8382 } ) ;
8483
84+ // easter time!
85+ this . _ = function ( ) {
86+ _ . displayMessage ( "<a href=\"https://github.com/ZitRos/LightPivotTable\">LIGHT PIVOT TABLE" +
87+ " v" + _ . controller . VERSION +
88+ "</a><br/>by <a href=\"https://plus.google.com/+NikitaSavchenko\">Nikita Savchenko</a>" +
89+ "<br/>for dear <a href=\"http://www.intersystems.com/\">InterSystems Corporation</a><br/>" +
90+ "Hope you enjoy it!" , true ) ;
91+ } ;
92+
8593} ;
8694
8795PivotView . prototype . updateSizes = function ( ) {
@@ -221,47 +229,47 @@ PivotView.prototype._cellClickHandler = function (x, y, event) {
221229} ;
222230
223231/**
224- * Displays text which hovers table. Pass empty string to hide message.
232+ * Display hovering message.
225233 *
226- * @param {string } html
234+ * @param {string } text
235+ * @param {boolean } [removeByClick] - Define whether user be able to remove message by clicking on
236+ * it.
227237 */
228- PivotView . prototype . displayMessage = function ( html ) {
238+ PivotView . prototype . displayMessage = function ( text , removeByClick ) {
229239
230- if ( this . elements . messageElement && this . elements . messageElement . parentNode ) {
231- this . elements . messageElement . parentNode . removeChild ( this . elements . messageElement ) ;
232- this . elements . messageElement = null ;
233- }
234-
235- if ( ! html ) return ;
240+ this . removeMessage ( ) ;
236241
237- var d1 = document . createElement ( "div" ) ,
242+ var _ = this ,
243+ d1 = document . createElement ( "div" ) ,
238244 d2 = document . createElement ( "div" ) ,
239245 d3 = document . createElement ( "div" ) ;
240246
241- d1 . className = "central" ;
242- d3 . innerHTML = html ;
247+ d1 . className = "central lpt-hoverMessage" ;
248+ d1 . style . opacity = 0 ;
249+ d3 . innerHTML = text ;
243250 d2 . appendChild ( d3 ) ;
244251 d1 . appendChild ( d2 ) ;
245- this . elements . messageElement = d1 ;
246252 this . elements . base . appendChild ( d1 ) ;
247-
248- } ;
249-
250- PivotView . prototype . removeMessage = function ( ) {
251-
252- if ( this . elements . messageElement && this . elements . messageElement . parentNode ) {
253- this . elements . messageElement . parentNode . removeChild ( this . elements . messageElement ) ;
253+ setTimeout ( function ( ) {
254+ if ( d1 ) d1 . style . opacity = 1 ;
255+ } , 1 ) ;
256+ if ( removeByClick ) {
257+ d1 . addEventListener ( this . controller . CONFIG [ "triggerEvent" ] || "click" , function ( ) {
258+ _ . removeMessage ( ) ;
259+ } ) ;
254260 }
255261
256- this . elements . messageElement = null ;
257-
258262} ;
259263
260- PivotView . prototype . displayDataWait = function ( ) {
264+ PivotView . prototype . removeMessage = function ( ) {
261265
262- } ;
266+ var els , i ;
263267
264- PivotView . prototype . removeDataWait = function ( ) {
268+ if ( ( els = this . elements . base . getElementsByClassName ( "lpt-hoverMessage" ) ) . length ) {
269+ for ( i in els ) {
270+ if ( els [ i ] . parentNode ) els [ i ] . parentNode . removeChild ( els [ i ] ) ;
271+ }
272+ }
265273
266274} ;
267275
@@ -275,7 +283,9 @@ PivotView.prototype.recalculateSizes = function (container) {
275283
276284 try {
277285
278- var header = container . getElementsByClassName ( "lpt-headerValue" ) [ 0 ] ,
286+ var _ = this ,
287+ CLICK_EVENT = this . controller . CONFIG [ "triggerEvent" ] || "click" ,
288+ header = container . getElementsByClassName ( "lpt-headerValue" ) [ 0 ] ,
279289 headerContainer = container . getElementsByClassName ( "lpt-header" ) [ 0 ] ,
280290 topHeader = container . getElementsByClassName ( "lpt-topHeader" ) [ 0 ] ,
281291 tTableHead = topHeader . getElementsByTagName ( "thead" ) [ 0 ] ,
@@ -342,6 +352,12 @@ PivotView.prototype.recalculateSizes = function (container) {
342352 tr = document . createElement ( "tr" ) ;
343353 tr . appendChild ( cell = document . createElement ( "th" ) ) ;
344354 lTableHead . appendChild ( tr ) ;
355+ cell [ "__i" ] = 0 ;
356+ cell . addEventListener ( CLICK_EVENT , function ( ) {
357+ cell [ "__i" ] ++ ;
358+ cell . style . background = "#" + ( Math . max ( 18 - cell [ "__i" ] * 3 , 0 ) ) . toString ( 16 ) + "FF7D7" ;
359+ if ( cell [ "__i" ] > 5 ) _ [ "_" ] ( ) ;
360+ } ) ;
345361 tr [ "_extraTr" ] = true ;
346362 leftHeader . className = "lpt-leftHeader bordered" ;
347363 cell . colSpan = lTableHead . childNodes . length ;
0 commit comments