j1m_scroll 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.md +21 -0
  3. data/README.md +41 -0
  4. data/_data/modules/default/j1_scroll-0.0.1/j1_back2top.yml +131 -0
  5. data/_data/modules/default/j1_scroll-0.0.1/j1_smooth_scroll.yml +162 -0
  6. data/_data/resources/default/j1_scroll-0.0.1/resource.yml +43 -0
  7. data/assets/themes/j1/iframe_resizer/.npmignore +9 -0
  8. data/assets/themes/j1/iframe_resizer/.travis.yml +6 -0
  9. data/assets/themes/j1/iframe_resizer/CONTRIBUTING.md +86 -0
  10. data/assets/themes/j1/iframe_resizer/Iframe-resizer by davidjbradshaw.url +2 -0
  11. data/assets/themes/j1/iframe_resizer/LICENSE +21 -0
  12. data/assets/themes/j1/iframe_resizer/README.md +608 -0
  13. data/assets/themes/j1/iframe_resizer/bower.json +45 -0
  14. data/assets/themes/j1/iframe_resizer/example/frame.absolute.html +88 -0
  15. data/assets/themes/j1/iframe_resizer/example/frame.content.html +58 -0
  16. data/assets/themes/j1/iframe_resizer/example/frame.hover.html +51 -0
  17. data/assets/themes/j1/iframe_resizer/example/frame.nested.html +72 -0
  18. data/assets/themes/j1/iframe_resizer/example/frame.textarea.html +46 -0
  19. data/assets/themes/j1/iframe_resizer/example/frame.tolerance.html +79 -0
  20. data/assets/themes/j1/iframe_resizer/example/index.html +70 -0
  21. data/assets/themes/j1/iframe_resizer/example/two.html +71 -0
  22. data/assets/themes/j1/iframe_resizer/gruntfile.js +215 -0
  23. data/assets/themes/j1/iframe_resizer/iframeResizer.jquery.json +41 -0
  24. data/assets/themes/j1/iframe_resizer/index.js +4 -0
  25. data/assets/themes/j1/iframe_resizer/js/_client.js +1131 -0
  26. data/assets/themes/j1/iframe_resizer/js/_server.js +1126 -0
  27. data/assets/themes/j1/iframe_resizer/js/ie8.polyfils.js +85 -0
  28. data/assets/themes/j1/iframe_resizer/js/ie8.polyfils.map +1 -0
  29. data/assets/themes/j1/iframe_resizer/js/ie8.polyfils.min.js +4 -0
  30. data/assets/themes/j1/iframe_resizer/js/iframeResizer.contentWindow.js +1104 -0
  31. data/assets/themes/j1/iframe_resizer/js/iframeResizer.contentWindow.map +1 -0
  32. data/assets/themes/j1/iframe_resizer/js/iframeResizer.contentWindow.min.js +10 -0
  33. data/assets/themes/j1/iframe_resizer/js/iframeResizer.js +1007 -0
  34. data/assets/themes/j1/iframe_resizer/js/iframeResizer.js.modified +1004 -0
  35. data/assets/themes/j1/iframe_resizer/js/iframeResizer.map +1 -0
  36. data/assets/themes/j1/iframe_resizer/js/iframeResizer.min.js +9 -0
  37. data/assets/themes/j1/iframe_resizer/js/index.js +2 -0
  38. data/assets/themes/j1/iframe_resizer/karma.conf.js +92 -0
  39. data/assets/themes/j1/iframe_resizer/package.json +111 -0
  40. data/assets/themes/j1/iframe_resizer/spec/_initSpec.js +63 -0
  41. data/assets/themes/j1/iframe_resizer/spec/anchorSpec.js +62 -0
  42. data/assets/themes/j1/iframe_resizer/spec/childSpec.js +403 -0
  43. data/assets/themes/j1/iframe_resizer/spec/closeSpecSpec.js +44 -0
  44. data/assets/themes/j1/iframe_resizer/spec/getPageInfoSpec.js +32 -0
  45. data/assets/themes/j1/iframe_resizer/spec/initCssSpec.js +28 -0
  46. data/assets/themes/j1/iframe_resizer/spec/initDomSpec.js +27 -0
  47. data/assets/themes/j1/iframe_resizer/spec/initDoubleCallSpec.js +33 -0
  48. data/assets/themes/j1/iframe_resizer/spec/initErrorSpec.js +57 -0
  49. data/assets/themes/j1/iframe_resizer/spec/initJQuerySpec.js +29 -0
  50. data/assets/themes/j1/iframe_resizer/spec/initUndefinedDomSpec.js +25 -0
  51. data/assets/themes/j1/iframe_resizer/spec/javascripts/fixtures/iframe.html +2 -0
  52. data/assets/themes/j1/iframe_resizer/spec/javascripts/fixtures/iframe600.html +4 -0
  53. data/assets/themes/j1/iframe_resizer/spec/javascripts/fixtures/iframe600WithId.html +4 -0
  54. data/assets/themes/j1/iframe_resizer/spec/lib/common.js +59 -0
  55. data/assets/themes/j1/iframe_resizer/spec/parentSpec.js +88 -0
  56. data/assets/themes/j1/iframe_resizer/spec/resources/djb.jpg +0 -0
  57. data/assets/themes/j1/iframe_resizer/spec/resources/frame.content.html +176 -0
  58. data/assets/themes/j1/iframe_resizer/spec/resources/frame.lateload.html +33 -0
  59. data/assets/themes/j1/iframe_resizer/spec/resources/frame.nested.html +40 -0
  60. data/assets/themes/j1/iframe_resizer/spec/scrollSpec.js +53 -0
  61. data/assets/themes/j1/iframe_resizer/spec/sendMessageSpec.js +58 -0
  62. data/assets/themes/j1/iframe_resizer/spec/support/jasmine.json +9 -0
  63. data/assets/themes/j1/iframe_resizer/src/ie8.polyfils.js +64 -0
  64. data/assets/themes/j1/iframe_resizer/src/iframeResizer.contentWindow.js +1123 -0
  65. data/assets/themes/j1/iframe_resizer/src/iframeResizer.js +1002 -0
  66. data/assets/themes/j1/iframe_resizer/test-main.js +33 -0
  67. data/assets/themes/j1/iframe_resizer/test/_init.html +44 -0
  68. data/assets/themes/j1/iframe_resizer/test/_init_once.html +45 -0
  69. data/assets/themes/j1/iframe_resizer/test/_init_once_async.html +72 -0
  70. data/assets/themes/j1/iframe_resizer/test/background.html +47 -0
  71. data/assets/themes/j1/iframe_resizer/test/changePage.html +50 -0
  72. data/assets/themes/j1/iframe_resizer/test/close.html +44 -0
  73. data/assets/themes/j1/iframe_resizer/test/getId.html +44 -0
  74. data/assets/themes/j1/iframe_resizer/test/interval.html +56 -0
  75. data/assets/themes/j1/iframe_resizer/test/jqueryNoConflict.html +47 -0
  76. data/assets/themes/j1/iframe_resizer/test/lateImageLoad.html +90 -0
  77. data/assets/themes/j1/iframe_resizer/test/margin.html +73 -0
  78. data/assets/themes/j1/iframe_resizer/test/mutationObserver.html +63 -0
  79. data/assets/themes/j1/iframe_resizer/test/nested.html +46 -0
  80. data/assets/themes/j1/iframe_resizer/test/resize.contentWidth.html +51 -0
  81. data/assets/themes/j1/iframe_resizer/test/resize.width.html +63 -0
  82. data/assets/themes/j1/iframe_resizer/test/resources/djb.jpg +0 -0
  83. data/assets/themes/j1/iframe_resizer/test/resources/frame.content.html +191 -0
  84. data/assets/themes/j1/iframe_resizer/test/resources/frame.lateload.html +33 -0
  85. data/assets/themes/j1/iframe_resizer/test/resources/frame.nested.html +40 -0
  86. data/assets/themes/j1/iframe_resizer/test/resources/jquery.js +6 -0
  87. data/assets/themes/j1/iframe_resizer/test/resources/qunit.css +244 -0
  88. data/assets/themes/j1/iframe_resizer/test/resources/qunit.js +2212 -0
  89. data/assets/themes/j1/iframe_resizer/test/resources/require.js +2103 -0
  90. data/assets/themes/j1/iframe_resizer/test/resources/testLib.js +9 -0
  91. data/assets/themes/j1/iframe_resizer/test/scrolling.html +65 -0
  92. data/assets/themes/j1/iframe_resizer/test/sendMessage.html +61 -0
  93. data/assets/themes/j1/iframe_resizer/test/setHeightCalculationMethod.html +51 -0
  94. data/assets/themes/j1/iframe_resizer/test/size.html +64 -0
  95. data/assets/themes/j1/iframe_resizer/test/v1.html +189 -0
  96. data/assets/themes/j1/j1/js/adapters/iframe_resizer.js +105 -0
  97. data/exe/console +14 -0
  98. data/exe/setup +8 -0
  99. data/lib/j1m_scroll.rb +5 -0
  100. data/lib/j1m_scroll/version.rb +3 -0
  101. metadata +190 -0
@@ -0,0 +1,44 @@
1
+ define(['iframeResizer'], function(iFrameResize) {
2
+
3
+ describe('Close iFrame', function() {
4
+ var iframe;
5
+
6
+ beforeEach(function(){
7
+ loadIFrame('iframe600.html');
8
+ });
9
+
10
+ it('closes from parent', function(done) {
11
+
12
+ var callbackCounter = 0;
13
+
14
+ iframe = iFrameResize({
15
+ log:LOG,
16
+ id:'close1',
17
+ closedCallback:function(){
18
+ setTimeout(done,0);
19
+ }
20
+ })[0];
21
+
22
+ setTimeout(iframe.iFrameResizer.close,1);
23
+ });
24
+
25
+ it('closes from iframe', function(done) {
26
+
27
+ var callbackCounter = 0;
28
+
29
+ iframe = iFrameResize({
30
+ log:LOG,
31
+ id:'close2',
32
+ closedCallback:function(){
33
+ setTimeout(done,0);
34
+ },
35
+ initCallback:function(iframe){
36
+ iframe.iFrameResizer.sendMessage('close');
37
+ }
38
+ })[0];
39
+
40
+ mockMsgFromIFrame(iframe,'close');
41
+ });
42
+ });
43
+
44
+ });
@@ -0,0 +1,32 @@
1
+ define(['iframeResizer'], function(iFrameResize) {
2
+
3
+ describe('Get Page info', function() {
4
+ var log=LOG;
5
+ var testId = 'anchor';
6
+
7
+ beforeEach(function(){
8
+ loadIFrame('iframe600.html');
9
+ });
10
+
11
+ it('requested from iFrame', function(done) {
12
+ var iframe1 = iFrameResize({
13
+ log:log,
14
+ id:'getPageInfo',
15
+ })[0];
16
+
17
+ spyOn(iframe1.contentWindow,'postMessage').and.callFake(function(msg) {
18
+ if(0!==msg.indexOf('pageInfo')){
19
+ expect(msg.indexOf('"offsetTop":0,"offsetLeft":0,"scrollTop":0,"scrollLeft":0')).not.toEqual(0);
20
+ }
21
+ if(0!==msg.indexOf('pageInfoStop')){
22
+ tearDown(iframe1);
23
+ done();
24
+ }
25
+ });
26
+
27
+ mockMsgFromIFrame(iframe1,'pageInfo');
28
+ mockMsgFromIFrame(iframe1,'pageInfoStop');
29
+ });
30
+
31
+ });
32
+ });
@@ -0,0 +1,28 @@
1
+ /* jshint undef: false, unused: true */
2
+
3
+ 'use strict';
4
+
5
+ define(['iframeResizer'], function(iFrameResize) {
6
+ describe('iFrame init(CSS Selector)', function() {
7
+ var iframe;
8
+
9
+ beforeAll(function(done){
10
+ loadIFrame('iframe600.html');
11
+
12
+ iframe = iFrameResize({
13
+ log:LOG,
14
+ minHeight:99999,
15
+ resizedCallback:done,
16
+ checkOrigin:['http://localhost','https://localhost',location.href.split('/').slice(0,3).join('/')]
17
+ },'iframe')[0];
18
+ });
19
+
20
+ afterAll(function(){
21
+ tearDown(iframe);
22
+ })
23
+
24
+ it('should create iFrameResizer object', function() {
25
+ expect(iframe.iFrameResizer).toBeDefined();
26
+ });
27
+ });
28
+ });
@@ -0,0 +1,27 @@
1
+ /* jshint undef: false, unused: true */
2
+
3
+ 'use strict';
4
+
5
+ define(['iframeResizer'], function(iFrameResize) {
6
+ describe('iFrame init(DOM Object)', function() {
7
+ var iframe;
8
+
9
+ beforeAll(function(){
10
+ loadIFrame('iframe600.html');
11
+
12
+ iframe = iFrameResize({
13
+ log:LOG
14
+ },document.getElementsByTagName('iframe')[0])[0];
15
+ });
16
+
17
+ afterAll(function(){
18
+ tearDown(iframe);
19
+ })
20
+
21
+ it('should create iFrameResizer object', function() {
22
+ expect(iframe.iFrameResizer).toBeDefined();
23
+ });
24
+ });
25
+ });
26
+
27
+
@@ -0,0 +1,33 @@
1
+ /* jshint undef: false, unused: true */
2
+
3
+ 'use strict';
4
+
5
+ define(['iframeResizer'], function(iFrameResize) {
6
+ describe('iFrame init(Double)', function() {
7
+ var iframe;
8
+
9
+ beforeAll(function(){
10
+ loadIFrame('iframe600WithId.html');
11
+ //spyOn(console,'warn');
12
+ });
13
+
14
+ afterAll(function(){
15
+ tearDown(iframe);
16
+ })
17
+
18
+ it('should create iFrameResizer object', function() {
19
+ window.parentIFrame = {
20
+ getId:function(){
21
+ return 'getIdTest';
22
+ }
23
+ }
24
+ iframe = iFrameResize({log:LOG},'#doubleTest')[0];
25
+ iFrameResize({log:LOG},'#doubleTest');
26
+ expect(iframe.iFrameResizer).toBeDefined();
27
+ expect(console.warn).toHaveBeenCalled();
28
+ delete window.parentIFrame;
29
+ });
30
+ });
31
+ });
32
+
33
+
@@ -0,0 +1,57 @@
1
+ define(['iframeResizer'], function(iFrameResize) {
2
+
3
+ describe('Setup error', function() {
4
+ var iframe;
5
+ var log=LOG;
6
+
7
+ beforeEach(function(){
8
+ loadIFrame('iframe600.html');
9
+ });
10
+
11
+
12
+ it('min > max', function() {
13
+ expect( function(){
14
+ iFrameResize({
15
+ log:log,
16
+ id:'error1',
17
+ maxHeight:100,
18
+ minHeight:999
19
+ });
20
+ }).toThrow(new Error('Value for minHeight can not be greater than maxHeight'));
21
+ });
22
+
23
+ it('Unexpected data type', function() {
24
+ expect( function(){
25
+ iFrameResize({
26
+ log:log,
27
+ id:'error2'
28
+ },1);
29
+ }).toThrow(new TypeError('Unexpected data type (number)'));
30
+ });
31
+
32
+ it('Expected <IFRAME> tag', function() {
33
+ expect( function(){
34
+ iFrameResize({
35
+ log:log,
36
+ id:'error3'
37
+ },'div');
38
+ }).toThrow(new TypeError('Expected <IFRAME> tag, found <DIV>'));
39
+ });
40
+
41
+ it('Object is not a valid DOM element', function() {
42
+ expect( function(){
43
+ iFrameResize({
44
+ log:log,
45
+ id:'error4'
46
+ },{});
47
+ }).toThrow(new TypeError('Object is not a valid DOM element'));
48
+ });
49
+
50
+ it('Options is not an object', function() {
51
+ expect( function(){
52
+ iFrameResize('ERROR');
53
+ }).toThrow(new TypeError('Options is not an object'));
54
+ });
55
+ });
56
+
57
+ });
@@ -0,0 +1,29 @@
1
+ /* jshint undef: false, unused: true */
2
+
3
+ 'use strict';
4
+
5
+
6
+ define(['iframeResizer','jquery'], function(iFrameResize,$) {
7
+ describe('iFrame init(jQuery)', function() {
8
+ var iframe;
9
+
10
+ beforeAll(function(){
11
+ loadIFrame('iframe600.html');
12
+
13
+ var $iframes = $('iframe').iFrameResize();
14
+
15
+ iframe = $iframes.get(0);
16
+ });
17
+
18
+ afterAll(function(){
19
+ tearDown(iframe);
20
+ })
21
+
22
+ it('should create iFrameResizer object', function() {
23
+ expect(iframe.iFrameResizer).toBeDefined();
24
+ });
25
+ });
26
+
27
+
28
+ });
29
+
@@ -0,0 +1,25 @@
1
+ /* jshint undef: false, unused: true */
2
+
3
+ 'use strict';
4
+
5
+ define(['iframeResizer'], function(iFrameResize) {
6
+ describe('iFrame init(DOM Object)', function() {
7
+ var iframe;
8
+
9
+ beforeAll(function(){
10
+ loadIFrame('iframe600.html');
11
+
12
+ iframe = iFrameResize(undefined,document.getElementsByTagName('iframe')[0])[0];
13
+ });
14
+
15
+ afterAll(function(){
16
+ tearDown(iframe);
17
+ })
18
+
19
+ it('should create iFrameResizer object', function() {
20
+ expect(iframe.iFrameResizer).toBeDefined();
21
+ });
22
+ });
23
+ });
24
+
25
+
@@ -0,0 +1,2 @@
1
+
2
+ <iframe src="/base/spec/resources/blank.html" width="100%" scrolling="no"></iframe>
@@ -0,0 +1,4 @@
1
+ <div id="iframe-fixture" style="width:600px;">
2
+ <iframe src="/base/spec/resources/frame.content.html" width="100%" scrolling="no"></iframe>
3
+ </div>
4
+ <a name="anchorParentTest"></a>
@@ -0,0 +1,4 @@
1
+ <div id="iframe-fixture" style="width:600px;">
2
+ <iframe id="doubleTest" src="/base/spec/resources/frame.content.html" width="100%" scrolling="no"></iframe>
3
+ </div>
4
+ <a name="anchorParentTest"></a>
@@ -0,0 +1,59 @@
1
+ 'use strict';
2
+
3
+ var LOG = true;
4
+
5
+ jasmine.DEFAULT_TIMEOUT_INTERVAL = 4000;
6
+ jasmine.getFixtures().fixturesPath = 'base/spec/javascripts/fixtures';
7
+
8
+ function tearDown(iframe){
9
+ if (iframe) setTimeout(iframe.iFrameResizer.close,1);
10
+ window.parentIFrame = undefined;
11
+ }
12
+
13
+ function loadIFrame(filename){
14
+ loadFixtures(filename);
15
+ }
16
+
17
+ function getTarget(iframe){
18
+ return iframe.src.split('/').slice(0,3).join('/')
19
+ }
20
+
21
+ function mockPostMsgViaHook(testIFrame,id,msg,callback){
22
+ return testIFrame('[iFrameSizer]'+id+':'+msg,callback);
23
+ }
24
+
25
+ function mockPostMsg(id,msg){
26
+ var message = '[iFrameSizer]'+id+':'+msg;
27
+ console.log('Mork postMessage: ',message);
28
+ window.postMessage(message,'*');
29
+ }
30
+
31
+ function mockMsgFromIFrame(iframe,msg){
32
+ mockPostMsg(iframe.id,'0:0:'+msg);
33
+ }
34
+
35
+ function mockInitFromParent(testIFrame,id,log,callback){
36
+ return mockPostMsgViaHook(testIFrame,id,'8:false:'+log+':0:true:false:null:max:wheat:null:0:true:child:scroll',callback);
37
+ }
38
+
39
+ function spyOnPostMessage(target){
40
+ spyOn(target,'postMessage');
41
+ }
42
+
43
+ function spyOnWindowPostMessage(){
44
+ spyOnPostMessage(window.parent);
45
+ return window.parent.postMessage;
46
+ }
47
+
48
+ function spyOnIFramePostMessage(iframe){
49
+ spyOnPostMessage(iframe.contentWindow);
50
+ }
51
+
52
+ function closeChild(window,done){
53
+ window.parentIFrame.close();
54
+ done();
55
+ }
56
+
57
+ function strEnd(str,num){
58
+ return str.substr(str.length - num);
59
+ }
@@ -0,0 +1,88 @@
1
+ define(['iframeResizer'], function(iFrameResize) {
2
+
3
+ describe('Parent Page', function() {
4
+
5
+ describe('default resize', function() {
6
+ var iframe;
7
+ var log=LOG;
8
+ var testId = 'defaultResize3';
9
+ var ready;
10
+
11
+
12
+ beforeEach(function(done){
13
+ loadIFrame('iframe600.html');
14
+ iframe = iFrameResize({
15
+ log:log,
16
+ id:testId,
17
+ resizedCallback:function(){
18
+ ready=true;
19
+ done();
20
+ }
21
+ })[0];
22
+
23
+ mockMsgFromIFrame(iframe,'foo');
24
+ });
25
+
26
+ afterEach(function(){
27
+ tearDown(iframe);
28
+ })
29
+
30
+ it('receive message', function() {
31
+ expect(ready).toBe(true);
32
+ });
33
+ });
34
+
35
+
36
+ describe('reset Page', function() {
37
+ var iframe;
38
+ var log=LOG;
39
+ var testId = 'parentPage1';
40
+
41
+ beforeEach(function(done){
42
+ loadIFrame('iframe600.html');
43
+ iframe = iFrameResize({
44
+ log:log,
45
+ id:testId
46
+ })[0];
47
+
48
+ spyOn(iframe.contentWindow,'postMessage').and.callFake(done);
49
+ mockMsgFromIFrame(iframe,'reset');
50
+ });
51
+
52
+ afterEach(function(){
53
+ tearDown(iframe);
54
+ })
55
+
56
+ it('receive message', function() {
57
+ expect(iframe.contentWindow.postMessage).toHaveBeenCalledWith('[iFrameSizer]reset', 'http://localhost:9876');
58
+ });
59
+ });
60
+
61
+
62
+ describe('late load msg received', function() {
63
+ var iframe;
64
+ var log=LOG;
65
+ var testId = 'parentPage2';
66
+
67
+ beforeEach(function(done){
68
+ loadIFrame('iframe600.html');
69
+ iframe = iFrameResize({
70
+ log:log,
71
+ id:testId
72
+ })[0];
73
+
74
+ spyOn(iframe.contentWindow,'postMessage').and.callFake(done);
75
+ window.postMessage('[iFrameResizerChild]Ready','*');
76
+ });
77
+
78
+ afterEach(function(){
79
+ tearDown(iframe);
80
+ })
81
+
82
+ it('receive message', function() {
83
+ expect(iframe.contentWindow.postMessage).toHaveBeenCalledWith('[iFrameSizer]parentPage2:8:false:true:32:true:true:null:bodyOffset:null:null:0:false:parent:scroll', 'http://localhost:9876');
84
+ });
85
+ });
86
+
87
+ });
88
+ });