Reduce HTTP requests for cursors

This commit is contained in:
Evan W. Patton
2017-03-04 00:23:46 -05:00
parent 45ff6e6355
commit 760f8c7ec1

View File

@@ -45,6 +45,16 @@ Blockly.Css.Cursor = {
DELETE: 'handdelete'
};
/**
* Embedded cursor data to prevent multiple roundtrips to server.
* @type {{OPEN: string, CLOSED: string, DELETE: string}}
*/
Blockly.Css.CursorData = {
'handopen': "url('data:;base64,AAACAAEAEBACAAgABQCwAAAAFgAAACgAAAAQAAAAIAAAAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAPwAAAD8AAAB/AAAA/4AAAf+AAAH/wAAD/8AAB3/AAAZ/4AAAf2AAANtgAADbIAABmwAAAZsAAAAYAAAAAAAAD4BwAA+AcAAPAHAADgAwAAwAMAAMABAACAAQAAAAEAAAAAAACQAAAA4AAAAOAAAADABQAAwAcAAOQPAAD+fwAA') 7 7, auto",
'handclosed': "url('data:;base64,AAACAAEAICACAAcAAwAwAQAAFgAAACgAAAAgAAAAQAAAAAEAAQAAAAAAgAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAB+AAAA/gAAAf8AAAP/AAAD/4AAA/+AAAD/gAAA/4AAAf6AAAG2AAAAAAAAAAAAAA//////////////////////////////////////////////////////////////////////////////////////////////////////AP///wD///4A///8AH//+AB///gAP//4AD///AA///4AP//8AD///AB///5J////////8') 7 7, auto",
'handdelete': "url('data:;base64,AAACAAEAICAQAAcAAwDoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAAAIAAAAAAAAAAAAAEAAAAAAAAAAAAAAAgICAAP///wAAAP8AQED/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAABEAAAAAAAAAAAAAAAAQ0AENAAAAAAAAAAAAAAAAAQ0Q0AAAAAAAAAAAAAAAiIiQzQAAAAAAAAAAAAAAAIiIkM0AAAAAAAAAAAAAAAiIiQ0Q0AAAAAAAAAAAAACIiJDQhQ0AAAAAAAAAAAAIiIiRCIARAAAAAAAAAAAACIiIiIiIAAAAAAAAAAAAAAiIiIiIiAAAAAAAAAAAAAAACIiIiIgAAAAAAAAAAAAAAAiIiIiIAAAAAAAAAAAAAACIiIiICAAAAAAAAAAAAAAAiAiAiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////////////////////////////////////////////////////////////////////zz///8Y////gf//8AP///AD///gAf//wAD//4AE//+AA///gAP//8AD///gA///wAP//8AH///kn////////w') 7 7, auto"
}
/**
* Current cursor (cached value).
* @type {string}
@@ -111,7 +121,7 @@ Blockly.Css.setCursor = function(cursor) {
return;
}
Blockly.Css.currentCursor_ = cursor;
var url = 'url(' + Blockly.Css.mediaPath_ + '/' + cursor + '.cur) 8 5, auto';
var url = Blockly.Css.CursorData[cursor];
// There are potentially hundreds of draggable objects. Changing their style
// properties individually is too slow, so change the CSS rule instead.
var rule = '.blocklyDraggable {\n cursor: ' + url + ';\n}\n';