j1m_scroll 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
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
+ });