Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
enterprise:demos:gallery [2021/10/24 00:45]
admin
enterprise:demos:gallery [2021/10/27 00:45] (current)
admin
Line 2: Line 2:
  
 ====== Demo : Gallery ====== ====== Demo : Gallery ======
- 
  
 ===== Overview ===== ===== Overview =====
 +This is a media gallery sample,you can switch carousel mode to rotating、slider or coverflow.
  
 ===== Running ===== ===== Running =====
Line 28: Line 28:
 </script> </script>
  
-<script id="tpl-oneplayer-tabitem" charset="UTF-8" type="text/html">+<script id="tpl-oneplayer-picker-tabitem" charset="UTF-8" type="text/html">
   <li data-pickfrom="<%= from %>">   <li data-pickfrom="<%= from %>">
     <a data-toggle="tab"><%= label %></a>     <a data-toggle="tab"><%= label %></a>
Line 34: Line 34:
 </script> </script>
  
-<script id="tpl-oneplayer-tabpane" charset="UTF-8" type="text/html">+<script id="tpl-oneplayer-picker-tabpane" charset="UTF-8" type="text/html">
 <div class="tab-pane" ></div> <div class="tab-pane" ></div>
 </script> </script>
Line 60: Line 60:
     <div class="btn-group carousel-modes" data-toggle="buttons">     <div class="btn-group carousel-modes" data-toggle="buttons">
       <label class="btn btn-default">       <label class="btn btn-default">
-        <input name="carsoulMode" type="radio" value="slide"><span class="glyphicon glyphicon-th"></span>+        <input name="carsoulMode" type="radio" value="slide"><span class="fa fa-exchange"></span>
       </label>       </label>
       <label class="btn btn-default">       <label class="btn btn-default">
-        <input name="carsoulMode" type="radio" value="rotate"><span class="glyphicon glyphicon-film"></span>+        <input name="carsoulMode" type="radio" value="rotate"><span class="fa fa-houzz"></span>
       </label>       </label>
       <label class="btn btn-default">       <label class="btn btn-default">
-        <input name="carsoulMode" type="radio" value="coverflow"><span class="glyphicon  glyphicon-menu-hamburger"></span>+        <input name="carsoulMode" type="radio" value="coverflow"><span class="fa fa-gg"></span>
       </label>       </label>
     </div>     </div>
Line 80: Line 80:
 <script> <script>
     function initPage(langx,domx,oneplayer) {     function initPage(langx,domx,oneplayer) {
-        let $ = domx.query;+      let $ = domx.query; 
 +      var medias = [ 
 +          { 
 +            type: 'image', 
 +            poster : "/medias/enterprise/demos/diagramjhg.jpeg", 
 +            media : "/medias/enterprise/demos/diagramjhg.jpegp",  
 +            title : "diagramjhg" 
 +          }, 
 +          { 
 +           type: 'image', 
 +            poster : '/medias/enterprise/demos/flyingcar.jpg', 
 +            media : "/medias/enterprise/demos/flyingcar.obj.zip",  
 +            title : "flyingcar" 
 +          }, 
 +          { 
 +            type: 'image', 
 +            poster : '/medias/enterprise/demos/gosthouse.jpg', 
 +            media : "/medias/enterprise/demos/gosthouse.obj.zip",  
 +            title : "gosthouse" 
 +          }, 
 +          { 
 +           type: 'image', 
 +            poster : "/medias/enterprise/demos/grand-view-park-sf.jpeg", 
 +            media : "/medias/enterprise/demos/grand-view-park-sf.jpegp",  
 +            title : "grand view park"
  
-        let _windowLoaded = false; +          },
-        var medias = [ +
-            { +
-              type: 'image', +
-              poster : "/_media/enterprise/demos/diagramjhg.jpeg", +
-              media : "/_media/enterprise/demos/diagramjhg.jpegp",  +
-              title : "diagramjhg" +
-            }, +
-            { +
-             type: 'image', +
-              poster : '/_media/enterprise/demos/flyingcar.jpg', +
-              media : "/_media/enterprise/demos/flyingcar.obj.zip",  +
-              title : "flyingcar" +
-            }, +
-            { +
-              type: 'image', +
-              poster : '/_media/enterprise/demos/gosthouse.jpg', +
-              media : "/_media/enterprise/demos/gosthouse.obj.zip",  +
-              title : "gosthouse" +
-            }, +
-            { +
-             type: 'image', +
-              poster : "/_media/enterprise/demos/grand-view-park-sf.jpeg", +
-              media : "/_media/enterprise/demos/grand-view-park-sf.jpegp",  +
-              title : "grand view park"+
  
-            },+          { 
 +            type: 'image', 
 +            poster : "/medias/enterprise/demos/primaryiondrive.jpg", 
 +            media : "/medias/enterprise/demos/primaryiondrive.glb.zip",  
 +            title : "PrimaryIon Drive" 
 +          }, 
 +           
 +          { 
 +           type: 'image', 
 +            poster : "/medias/enterprise/demos/sam010.jpg", 
 +            media : "/medias/enterprise/demos/sam019.mp4",  
 +            title : "sam"
  
-            { +          },        
-              type: 'image', +          
-              poster : "/_media/enterprise/demos/primaryiondrive.jpg", +           type: 'image', 
-              media : "/_media/enterprise/demos/primaryiondrive.glb",  +            poster : "/medias/enterprise/demos/the-earth-around.png", 
-              title : "PrimaryIon Drive" +            media : "/medias/enterprise/demos/the-earth-around.mp4p",  
-            }, +            title : "the earth around"
-             +
-            +
-             type: 'image', +
-              poster : "/_media/enterprise/demos/sam010.jpg", +
-              media : "/_media/enterprise/demos/sam019.mp4",  +
-              title : "sam"+
  
-            }       +          }        
-            { +      ];
-             type: 'image', +
-              poster : "/_media/enterprise/demos/the-earth-around.png", +
-              media : "/_media/enterprise/demos/the-earth-around.mp4p",  +
-              title : "the earth around"+
  
-            }        +      const mediaEls Array.prototype.slice.call(document.getElementsByTagName('u-oneplayer'));
-        ]; +
-        const autoSetup function () {+
  
-            const mediaEls = Array.prototype.slice.call(document.getElementsByTagName('u-oneplayer'));+      if (mediaEls && mediaEls.length > 0) { 
 +        for (let i = 0, e = mediaEls.lengthi < e; i++) { 
 +          const mediaEl = mediaEls[i], 
 +                pickerOptions = { 
 +                  tabs : [ 
 +                    {label:"Gallery",from:"listing",items:medias,modes:true} 
 +                  ],
  
-            if (mediaEls && mediaEls.length > 0+                  template : $("#tpl-oneplayer-picker").html(),
-                for (let i = 0e = mediaEls.length; i < e; i++) {+
  
-                    const mediaEl = mediaEls[i], +                  templates : 
-                          pickerOptions = +                    tabitem $("#tpl-oneplayer-picker-tabitem").html(), 
-                            tabs : [ +                    tabpane $("#tpl-oneplayer-picker-tabpane").html() 
-                              {label:"Gallery",from:"listing",items:medias,modes:true} +                  },
-                            ],+
  
-                            template : $("#tpl-oneplayer-picker").html(),+                  froms : { 
 +                    listing : { 
 +                      template : $("#tpl-oneplayer-picker-listing").html(),
  
-                            templates : { +                      item : { 
-                              tabitem : $("#tpl-oneplayer-tabitem").html(), +                        template : $("#tpl-oneplayer-picker-listing-item").html() 
-                              tabpane : $("#tpl-oneplayer-tabpane").html() +                      },
-                            },+
  
-                            froms : { +                      modes : { 
-                              listing : { +                        template : $("#tpl-oneplayer-picker-listing-modes").html() 
-                                template : $("#tpl-oneplayer-listing").html(), +                      }
- +
-                                item : { +
-                                  template : $("#tpl-oneplayer-listing-item").html() +
-                                }, +
- +
-                                modes : { +
-                                  template : $("#tpl-oneplayer-listing-modes").html() +
-                                } +
-                              } +
-                            } +
-                          }; +
- +
-                    if (mediaEl && mediaEl.getAttribute) { +
-                        if (mediaEl.player === undefined) { +
-                           let player = new oneplayer.Player(mediaEl,+
-                             autoplay : true, +
-                             picker : pickerOptions +
-                           }); +
-                        } +
-                    } else { +
-                        autoSetupTimeout(1); +
-                        break;+
                     }                     }
-                } +                  
-            } else if (!_windowLoaded) { +                };
-                autoSetupTimeout(1); +
-            } +
-        }; +
-        function autoSetupTimeout(wait) {+
  
-            window.setTimeout(autoSetup, wait); +          if (mediaEl.player === undefined) { 
-        } +             mediaEl.player new oneplayer.Player(mediaEl,
-        function setWindowLoaded() { +               autoplay : true, 
-            _windowLoaded true; +               picker : pickerOptions 
-            window.removeEventListener('load'setWindowLoaded);+             }); 
 +          }
         }         }
-        if (document.readyState === 'complete') { +      }
-            setWindowLoaded(); +
-        else { +
-            window.addEventListener('load', setWindowLoaded); +
-        } +
-        const hasLoaded = function () { +
-            return _windowLoaded; +
-        }; +
- +
-        autoSetupTimeout(1,oneplayer); +
     }     }
 </script> </script>
Line 207: Line 176:
 <link type="text/css" rel="stylesheet" href="/lib/tpl/skydoku/assets/oneplayer/css/oneplayer-all.css"> <link type="text/css" rel="stylesheet" href="/lib/tpl/skydoku/assets/oneplayer/css/oneplayer-all.css">
 <style> <style>
-        .throbber { +  .throbber { 
-            position: absolute; +    position: absolute; 
-            top: 0px; +    top: 0px; 
-            left: 0px; +    left: 0px; 
-            background: rgba(255, 152, 0, 0.86); +    background: rgba(255, 152, 0, 0.86); 
-            color: rgb(255, 255, 255); +    color: rgb(255, 255, 255); 
-            display: flex; +    display: flex; 
-            align-items: center; +    align-items: center; 
-            justify-content: center; +    justify-content: center; 
-            width: 100%; +    width: 100%; 
-            height: 100%; +    height: 100%; 
-            z-index: 9999; +    z-index: 9999; 
-        +  
-        .u-oneplayer { +  .u-oneplayer { 
-            position: absolute; +    position: absolute; 
-        }+  }
  
-     .uop-picker .lark-carousel .desc, .lark-carousel .ground { +  .uop-picker .lark-carousel .desc, .lark-carousel .ground { 
-      display: none; +    display: none; 
-     }+  }
  
-     .uop-picker .lark-carousel.rotate .desc, .lark-carousel.rotate .ground { +  .uop-picker .lark-carousel.rotate .desc, .lark-carousel.rotate .ground { 
-      display: block; +    display: block; 
-     }+  }
  
-     .uop-picker .lark-carousel.rotate .item img +  .uop-picker .lark-carousel .items-container 
-          max-width: 100%; +    height: 100%;  
-     }       +  }
-      +
-     .uop-picker .lark-carousel.rotate .item img { +
-        display: block; +
-        height : 220px; +
-        width: 220px; +
-     }+
  
-    .uop-picker .lark-carousel.coverflow .item img { +  .uop-picker .lark-carousel  .item img { 
-        displayblock+    max-width100%
-        height : 80%; +    max-height: 100%; 
-        width 360px +    displayblock; 
-    }+    margin: auto; 
 +    cursor : pointer; 
 +  }
  
-     .uop-picker .lark-carousel.slide .item img { +  .uop-picker .lark-carousel.rotate .items-container { 
-        display: block; +    width: 120px;  
-        height : 80%+    height: 170px;  
-     }+  } 
 +  
 +  .uop-picker .lark-carousel.rotate .item img { 
 +    display: block; 
 +    height : 220px; 
 +    width: 220px
 +  }
  
-    .uop-picker .lark-carousel .items-container +  .uop-picker .lark-carousel.coverflow .item 
-        height: 100%;  +    height : 360px
-    }+    width : 360px; 
 +  }
  
-    .uop-picker .lark-carousel.rotate .items-container { +  .uop-picker .lark-carousel.coverflow .item img { 
-        width: 120px;  +    display: block; 
-        height: 170px;  +    height 360px
-    } +    width 360px
- +  }
-    .uop-picker .lark-carousel  .item img { +
-        height : 100%; +
-        display: block; +
-        marginauto+
-        cursor pointer+
- +
-    }+
  
 + .uop-picker .lark-carousel.slide .item img {
 +    display: block;
 +    height : 420px;
 +    width : 840px
 +  }
 </style> </style>
  
Line 275: Line 245:
  
 ===== Code ===== ===== Code =====
 +<code>
 +<div style="min-height:600px;position:relative">
 +<u-oneplayer data-options="pickfile:true" class="u-oneplayer" tabindex="-1" style="width:90%;height:90%" role="region" lang="en" aria-label="OnePlayer">
 +</u-oneplayer>
 +</div>
 +
 +<script id="tpl-oneplayer-picker" charset="UTF-8" type="text/html">
 +    
 +<div class = "uop-picker">
 +  <div class="tabstrip">
 +    <ul class="nav nav-tabs">
 +    </ul>
 +    <div class="tab-content">
 +    </div>
 +  </div>
 +</div>   
 +    
 +</script>
 +
 +<script id="tpl-oneplayer-picker-tabitem" charset="UTF-8" type="text/html">
 +  <li data-pickfrom="<%= from %>">
 +    <a data-toggle="tab"><%= label %></a>
 +  </li>
 +</script>
 +
 +<script id="tpl-oneplayer-picker-tabpane" charset="UTF-8" type="text/html">
 +<div class="tab-pane" ></div>
 +</script>
 +
 +<script id="tpl-oneplayer-picker-listing" charset="UTF-8" type="text/html">
 +  <div class="lark-carousel rotate" >
 +    <div  class="items-container" >
 +      <ul class= "items" >
 +        <!-- Add your images (or video) here -->
 +      </ul>
 +      <!-- Text at center of ground -->
 +      <p class = "desc">3dMAX  Rotate  Carousel</p>
 +      <div id="ground" class="ground" style="width: 720px; height: 720px;"></div>
 +    </div>
 +    <a class="prev">‹</a>
 +    <a class="next">›</a>
 +    <a class="cycle-stop"></a>
 +    <ol class="indicators">
 +    </ol>
 +  </div>        
 +</script>
 +
 +<script id="tpl-oneplayer-picker-listing-modes" charset="UTF-8" type="text/html">
 +  <li class="pull-right">
 +    <div class="btn-group carousel-modes" data-toggle="buttons">
 +      <label class="btn btn-default">
 +        <input name="carsoulMode" type="radio" value="slide"><span class="fa fa-exchange"></span>
 +      </label>
 +      <label class="btn btn-default">
 +        <input name="carsoulMode" type="radio" value="rotate"><span class="fa fa-houzz"></span>
 +      </label>
 +      <label class="btn btn-default">
 +        <input name="carsoulMode" type="radio" value="coverflow"><span class="fa fa-gg"></span>
 +      </label>
 +    </div>
 +  </li>    
 +</script>
 +
 +<script id="tpl-oneplayer-picker-listing-item" charset="UTF-8" type="text/html">
 +  <li class="item"  data-media="<%= media %>" >
 +    <div class="content"><img src="<%= poster %>"></div>
 +  </li>  
 +</script>
 +
 +<script>
 +    function initPage(langx,domx,oneplayer) {
 +      let $ = domx.query;
 +      var medias = [
 +          {
 +            type: 'image',
 +            poster : "/medias/enterprise/demos/diagramjhg.jpeg",
 +            media : "/medias/enterprise/demos/diagramjhg.jpegp", 
 +            title : "diagramjhg"
 +          },
 +          {
 +           type: 'image',
 +            poster : '/medias/enterprise/demos/flyingcar.jpg',
 +            media : "/medias/enterprise/demos/flyingcar.obj.zip", 
 +            title : "flyingcar"
 +          },
 +          {
 +            type: 'image',
 +            poster : '/medias/enterprise/demos/gosthouse.jpg',
 +            media : "/medias/enterprise/demos/gosthouse.obj.zip", 
 +            title : "gosthouse"
 +          },
 +          {
 +           type: 'image',
 +            poster : "/medias/enterprise/demos/grand-view-park-sf.jpeg",
 +            media : "/medias/enterprise/demos/grand-view-park-sf.jpegp", 
 +            title : "grand view park"
 +
 +          },
 +
 +          {
 +            type: 'image',
 +            poster : "/medias/enterprise/demos/primaryiondrive.jpg",
 +            media : "/medias/enterprise/demos/primaryiondrive.glb", 
 +            title : "PrimaryIon Drive"
 +          },
 +          
 +          {
 +           type: 'image',
 +            poster : "/medias/enterprise/demos/sam010.jpg",
 +            media : "/medias/enterprise/demos/sam019.mp4", 
 +            title : "sam"
 +
 +          },       
 +          {
 +           type: 'image',
 +            poster : "/medias/enterprise/demos/the-earth-around.png",
 +            media : "/medias/enterprise/demos/the-earth-around.mp4p", 
 +            title : "the earth around"
 +
 +          }       
 +      ];
 +
 +      const mediaEls = Array.prototype.slice.call(document.getElementsByTagName('u-oneplayer'));
 +
 +      if (mediaEls && mediaEls.length > 0) {
 +        for (let i = 0, e = mediaEls.length; i < e; i++) {
 +          const mediaEl = mediaEls[i],
 +                pickerOptions = {
 +                  tabs : [
 +                    {label:"Gallery",from:"listing",items:medias,modes:true}
 +                  ],
 +
 +                  template : $("#tpl-oneplayer-picker").html(),
 +
 +                  templates : {
 +                    tabitem : $("#tpl-oneplayer-picker-tabitem").html(),
 +                    tabpane : $("#tpl-oneplayer-picker-tabpane").html()
 +                  },
 +
 +                  froms : {
 +                    listing : {
 +                      template : $("#tpl-oneplayer-picker-listing").html(),
 +
 +                      item : {
 +                        template : $("#tpl-oneplayer-picker-listing-item").html()
 +                      },
 +
 +                      modes : {
 +                        template : $("#tpl-oneplayer-picker-listing-modes").html()
 +                      }
 +                    }
 +                  }
 +                };
 +
 +          if (mediaEl.player === undefined) {
 +             mediaEl.player = new oneplayer.Player(mediaEl,{
 +               autoplay : true,
 +               picker : pickerOptions
 +             });
 +          }
 +        }
 +      }
 +    }
 +</script>
 +
 +<link type="text/css" rel="stylesheet" href="/lib/tpl/skydoku/assets/oneplayer/css/oneplayer-all.css">
 +<style>
 +  .throbber {
 +    position: absolute;
 +    top: 0px;
 +    left: 0px;
 +    background: rgba(255, 152, 0, 0.86);
 +    color: rgb(255, 255, 255);
 +    display: flex;
 +    align-items: center;
 +    justify-content: center;
 +    width: 100%;
 +    height: 100%;
 +    z-index: 9999;
 +  }
 +  .u-oneplayer {
 +    position: absolute;
 +  }
 +
 +  .uop-picker .lark-carousel .desc, .lark-carousel .ground {
 +    display: none;
 +  }
 +
 +  .uop-picker .lark-carousel.rotate .desc, .lark-carousel.rotate .ground {
 +    display: block;
 +  }
 +
 +  .uop-picker .lark-carousel .items-container {
 +    height: 100%; 
 +  }
 +
 +  .uop-picker .lark-carousel  .item img {
 +    max-width: 90%;
 +    max-height: 90%;
 +    display: block;
 +    margin: auto;
 +    cursor : pointer;
 +  }
 +
 +  .uop-picker .lark-carousel.rotate .items-container {
 +    width: 120px; 
 +    height: 170px; 
 +  }
 + 
 +  .uop-picker .lark-carousel.rotate .item img {
 +    display: block;
 +    height : 220px;
 +    width: 220px;
 +  }
 +
 +  .uop-picker .lark-carousel.coverflow .item {
 +    height : 360px;
 +    width : 360px;
 +  }
 +
 +  .uop-picker .lark-carousel.coverflow .item img {
 +    display: block;
 +    height : 360px;
 +    width : 360px;
 +  }
 +
 + .uop-picker .lark-carousel.slide .item img {
 +    display: block;
 +    height : 420px;
 +    width : 840px
 +  }
 +</style>
  
 +</code>