Cara menambahkan amp-date-picker ke AMP Html



amp-date-picker, adalah pemilih tanggal gaya kalender interaktif untuk memasukkan formulir. Dengan komponen ini, pengguna dapat menentukan tanggal atau rentang tanggal unik dengan antarmuka kalender yang membuat proses lebih cepat dan lebih rentan terhadap kesalahan.

Masukkan script berikut

Tambahkan komponen amp-date-picker


<script async custom-element="amp-date-picker" src="https://cdn.ampproject.org/v0/amp-date-picker-0.1.js"></script>


Masukkan komponen amp-bind untuk mengatur variabel berdasarkan tanggal yang dipilih.


<script async custom-element="amp-bind" src="https://cdn.ampproject.org/v0/amp-bind-0.1.js"></script>


Ini termasuk komponen amp-mustache untuk menampilkan panel informasi di bawah pemilih tanggal.


<script async custom-template="amp-mustache" src="https://cdn.ampproject.org/v0/amp-mustache-0.1.js"></script>


Tambahkan komponen amp-lightbox untuk menampilkan pemilih tanggal dalam tampilan lightbox layar penuh.


<script async custom-element="amp-lightbox" src="https://cdn.ampproject.org/v0/amp-lightbox-0.1.js"></script>


Masukkan komponen amp-form untuk membuat formulir.


<script async custom-element="amp-form" src="https://cdn.ampproject.org/v0/amp-form-0.1.js"></script>


Untuk menyesuaikan amp-date-pickerestilo, Anda dapat menggunakan kelas seperti CalendarMonth_caption yang diwarisi dari tanggal reaksi. amp-date-picker juga memperlihatkan kelas-kelas CSS yang dapat Anda gunakan dalam aturan CSS, seperti amp-date-picker-selection, yang diterapkan pada entri tanggal yang sedang diedit pengguna.

Style CSS


<style amp-custom>
.CalendarMonth_caption {
  color: #fff;
}
[type="range"] .amp-date-picker-selecting {
  border-bottom-color: #b60845;
  color: #b60845;
}
.align-content-center,
.align-content-center .amp-date-picker-calendar-container {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
}
.space-between > * + * {
  margin-left: 1em;
}
amp-lightbox {
  background: rgba(0, 0, 0, .75);
}
amp-lightbox .align-content-center {
  height: 100%;
}
.example-picker {
  display: flex;
}
.example-picker[mode="overlay"] {
  padding: 1em;
}
.small-button {
  font-size: .75em;
  line-height: .75em;
  margin: .75em;
}
.icon-input {
  background-image: url('data:image/svg+xml,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 1393.1 1500" style="enable-background:new 0 0 1393.1 1500;" xml:space="preserve"><path d="M107.2,1392.9h241.1v-241.1H107.2V1392.9z M401.9,1392.9h267.9v-241.1H401.9V1392.9z M107.2,1098.2h241.1V830.4H107.2 V1098.2z M401.9,1098.2h267.9V830.4H401.9V1098.2z M107.2,776.8h241.1V535.7H107.2V776.8z M723.4,1392.9h267.9v-241.1H723.4V1392.9z M401.9,776.8h267.9V535.7H401.9V776.8z M1044.8,1392.9H1286v-241.1h-241.1V1392.9z M723.4,1098.2h267.9V830.4H723.4V1098.2z M428.7,375V133.9c0-7.3-2.7-13.5-8-18.8c-5.3-5.3-11.6-8-18.8-8h-53.6c-7.3,0-13.5,2.7-18.8,8c-5.3,5.3-8,11.6-8,18.8V375 c0,7.3,2.7,13.5,8,18.8c5.3,5.3,11.6,8,18.8,8h53.6c7.3,0,13.5-2.7,18.8-8C426,388.5,428.7,382.3,428.7,375z M1044.8,1098.2H1286 V830.4h-241.1V1098.2z M723.4,776.8h267.9V535.7H723.4V776.8z M1044.8,776.8H1286V535.7h-241.1V776.8z M1071.6,375V133.9 c0-7.3-2.7-13.5-8-18.8c-5.3-5.3-11.6-8-18.8-8h-53.6c-7.3,0-13.5,2.7-18.8,8c-5.3,5.3-8,11.6-8,18.8V375c0,7.3,2.7,13.5,8,18.8 c5.3,5.3,11.6,8,18.8,8h53.6c7.3,0,13.5-2.7,18.8-8C1069,388.5,1071.6,382.3,1071.6,375z M1393.1,321.4v1071.4 c0,29-10.6,54.1-31.8,75.3c-21.2,21.2-46.3,31.8-75.3,31.8H107.2c-29,0-54.1-10.6-75.3-31.8C10.6,1447,0,1421.9,0,1392.9V321.4 c0-29,10.6-54.1,31.8-75.3s46.3-31.8,75.3-31.8h107.2v-80.4c0-36.8,13.1-68.4,39.3-94.6S311.4,0,348.3,0h53.6 c36.8,0,68.4,13.1,94.6,39.3c26.2,26.2,39.3,57.8,39.3,94.6v80.4h321.5v-80.4c0-36.8,13.1-68.4,39.3-94.6 C922.9,13.1,954.4,0,991.3,0h53.6c36.8,0,68.4,13.1,94.6,39.3s39.3,57.8,39.3,94.6v80.4H1286c29,0,54.1,10.6,75.3,31.8 C1382.5,267.3,1393.1,292.4,1393.1,321.4z"/></svg>');
  background-repeat: no-repeat;
  flex-shrink: 0;
  height: 28px;
  margin-top: 8px;
  width: 27px;
}
</style>


Pemilih tanggal tunggal

amp-date-picker dengan tipe = tunggal dapat digunakan untuk memilih satu tanggal. Anda dapat menggunakan amp-kumis dengan atribut info-template untuk menampilkan panel informasi di bawah kalender, di sini kami menunjukkan tanggal yang baru saja Anda pilih. info-template juga memungkinkan tautan AMP dengan menyediakan variabel-variabel yang telah dibuat dengan AMP.setState. Pengganti diperlukan untuk komponen. Untuk satu tanggal, ini dapat berupa: <input amp-date-placeholder placeholder="Pick a date">. amp-date-picker masukkan tindakan jelas yang dapat dipanggil setelah mengklik tombol untuk menghapus pilihan tanggal; membutuhkan atribut show-clear-date.


Contohnya

<amp-date-picker id="simple-date-picker"   type="single"   mode="overlay"   layout="container"   on="select:AMP.setState({date1: event.date, dateType1: event.id})"   format="YYYY-MM-DD"   open-after-select   input-selector="[name=date1]"   class="example-picker space-between">   <div class="icon-input"></div>   <div class="ampstart-input">     <input class="border-none p0"       name="date1"       placeholder="Pick a date">   </div>   <button class="ampstart-btn caps"     on="tap: simple-date-picker.clear">Clear</button>   <template type="amp-mustache"     info-template>     <span [text]="date1 != null ? 'You picked ' + date1 + '.' : 'You will see your chosen date here.'">You will see your chosen date here.</span>   </template> </amp-date-picker>

Selain itu, Anda juga dapat menggunakan amp-kumis untuk membuat templat untuk penandaan tanggal khusus, seperti ikon alih-alih nomor bulan. Di sini kita menggunakan ikon taco bukan angka bulan dengan frekuensi 2 minggu setiap hari Selasa. Kasus-kasus penggunaan umum dapat berupa tanggal pada bulan di mana harga suatu artikel ditetapkan dalam jumlah tertentu.


Contohnya

<amp-date-picker id="simple-date-picker-2"   type="single"   mode="overlay"   layout="container"   on="select:AMP.setState({date2: event.date, dateType2: event.id})"   locale="en"   format="YYYY-MM-DD"   open-after-select   input-selector="[name=date2]"   class="example-picker space-between">   <div class="ampstart-input">     <input class="border-none p0"       name="date2"       placeholder="Pick a date">   </div>   <button class="ampstart-btn caps"     on="tap: simple-date-picker-2.clear">Clear</button>   <template type="amp-mustache"     date-template     dates="FREQ=WEEKLY;DTSTART=20180101T000000Z;INTERVAL=2;WKST=SU;BYDAY=TU"     id="tacos2">     <span>🌮</span>     <span class="taco-tuesday"></span>   </template>   <template type="amp-mustache"     info-template>     <span [text]="date2 ? 'You picked ' + date2 + '.' +       (dateType2 == 'tacos2' ? ' Happy Taco Tuesday!' : '') : ''">You will see your chosen date here.</span>   </template> </amp-date-picker>

Pemilih rentang tanggal

amp-date-picker dengan type = range yang dapat Anda gunakan untuk memilih rentang tanggal. Secara default, amp-date-picker menonaktifkan tanggal yang lalu, gunakan atribut min untuk mengaktifkannya.


Contohnya

<amp-date-picker type="range"   mode="overlay"   id="range-date-picker"   on="   select:     AMP.setState({         dates: event.dates,         startDate: event.start,         endDate: event.end     })"   format="YYYY-MM-DD"   open-after-select   min="2017-10-26"   start-input-selector="#range-start"   end-input-selector="#range-end"   class="example-picker space-between">   <div class="ampstart-input">     <input class="border-none p0"       id="range-start"       placeholder="Start date">   </div>   <div class="ampstart-input">     <input class="border-none p0"       id="range-end"       placeholder="End date">   </div>   <button class="ampstart-btn caps"     on="tap:range-date-picker.clear">Clear</button>   <template type="amp-mustache"     info-template>     <span [text]="(startDate && endDate ?       'You picked ' + startDate.date + ' as start date and ' + endDate.date + ' as end date.' :     'You will see your chosen dates here.')">       You will see your chosen dates here.     </span>   </template> </amp-date-picker>

Konfigurasi Eksternal

Dimungkinkan untuk mengkonfigurasi preferensi amp-date-picker menggunakan json eksternal. Kami menggunakan JSON berikut di URL /json/amp-date-picker.json:

 {
    "templates": [{
      "id": "spooky",
      "dates": [
        "FREQ=WEEKLY;DTSTART=20180101T160000Z;BYDAY=MO",
        "FREQ=YEARLY;DTSTART=20180101T160000Z;WKST=SU;BYMONTH=10;BYMONTHDAY=31",
        "FREQ=MONTHLY;DTSTART=20180101T160000Z;WKST=SU;BYDAY=FR;BYMONTHDAY=13"
      ]
    }]
  }


Untuk tanggal yang cocok dengan daftar tanggal di gumpalan JSON, templat dengan id = "seram" akan digunakan untuk mewakili hari itu di kalender. Dalam hal ini, tanggal ini adalah Senin, Jumat tanggal 13 dan Halloween.


Contohnya

<amp-date-picker id="src-picker"   type="single"   mode="overlay"   layout="container"   format="YYYY-MM-DD"   src="https://ampbyexample.com/json/amp-date-picker.json"   input-selector="#src-input"   class="example-picker space-between">   <div class="ampstart-input">     <input class="border-none p0"       id="src-input"       placeholder="Pick a date">   </div>   <button class="ampstart-btn caps"     on="tap: src-picker.clear">Clear</button> <template type="amp-mustache"   date-template     id="spooky">     <span>🙀</span>   </template> </amp-date-picker>

Selector de fecha estático "Static date picker"

amp-date-picker con mode="static" puede mostrar una vista de calendario. El selector estático se puede usar con o sin una entrada adjunta.


Contohnya

<div class="align-content-center">   <amp-date-picker id="static-picker"     type="single"     mode="static"     layout="fixed-height"     height="360"     format="YYYY-MM-DD"     input-selector="#static-picker-input">   </amp-date-picker> </div>

amp-date-picker mendukung berbagai atribut, misalnya disorot dan diblokir. Temukan daftar lengkap di dokumen resmi. Atribut yang diblokir memungkinkan Anda untuk menentukan daftar yang dipisahkan oleh ruang tanggal ISO 8601 dan RRULE RFC 5545 yang menentukan tanggal yang tidak diizinkan. Atribut yang disorot adalah daftar yang dipisahkan oleh slot tanggal dari ISO 8601 dan RRULE dari RFC 5545 yang menentukan tanggal yang ditampilkan dengan gaya sorotan. Di sini setiap Kamis disorot, sementara setiap akhir pekan diblokir.


Contohnya

<div class="align-content-center">   <amp-date-picker id="simple-date-picker-3"     type="single"     mode="static"     layout="fixed-height"     height="360"     on="select:AMP.setState({date3: event.date ? event.date : ''})"     locale="en"     format="YYYY-MM-DD"     highlighted="FREQ=WEEKLY;WKST=SU;BYDAY=TH"     blocked="FREQ=WEEKLY;WKST=SU;BYDAY=SA,SU">   </amp-date-picker> </div>

Jika pemilih tanggal menggunakan type = "range" dan ada tanggal yang diblokir yang bisa menjadi bagian dari rentang, the atributo allow-blocked-dates  permite a los usuarios seleccionar rangos que incluyen fechas bloqueadas.


Contohnya

<div class="align-content-center">   <amp-date-picker id="simple-date-picker-4"     type="range"     mode="static"     layout="fixed-height"     height="360"     on="select:AMP.setState({date4: event.date ? event.date : ''})"     locale="en"     format="YYYY-MM-DD"     allow-blocked-ranges     highlighted="FREQ=WEEKLY;WKST=SU;BYDAY=TH"     blocked="FREQ=WEEKLY;WKST=SU;BYDAY=SA,SU">   </amp-date-picker> </div>

Lightbox date picker

amp-date-picker dapat ditampilkan di dalam lightbox modal. Aktifkan acara membuka lightbox jika pengguna berfokus pada elemen input yang terhubung dari pemilih dan menekan tombol panah bawah. deactivatese aktif ketika pengguna menekan melarikan diri ketika berinteraksi dengan tampilan kalender. Untuk kotak antarmuka sentuh saja, atribut pada = "ketuk: ..." & nbsp; buka pemilih saat pengguna menyentuh entri.


Contohnya

Choose your travel dates

<div class="p1">   <p>Choose your travel dates</p>   <div class="align-content-center space-between">     <div class="ampstart-input">       <input class="border-none p0"         id="lb-start"         placeholder="Start date"         on="tap:lb.open"       role="textbox"         tabindex="0">    </div>     <div class="ampstart-input">       <input class="border-none p0"         id="lb-end"         placeholder="End date"         on="tap:lb.open"         role="textbox"         tabindex="0">     </div>     <button class="ampstart-btn caps"       on="tap:lb-picker.clear">Clear</button>   </div>   <amp-lightbox id="lb"     layout="nodisplay">     <button class="ampstart-btn absolute m1 caps small-button"       on="tap:lb.close"       tabindex="0">Close</button>     <div class="align-content-center">       <amp-date-picker id="lb-picker"         type="range"         mode="static"         layout="fixed-height"         height="360"       format="MM/DD/YYYY"         on="activate: lb.open;            deactivate: lb.close;"         start-input-selector="#lb-start"         end-input-selector="#lb-end"></amp-date-picker>     </div>   </amp-lightbox> </div>

Selector lightbox date picker

amp-date-picker Itu juga dapat ditampilkan sebagai tampilan layar penuh di dalam kotak cahaya. Atribut layar penuh memberi tahu pemilih tanggal untuk mengambil ruang dalam wadahnya dan memungkinkan kontennya untuk menggulir secara vertikal.


Contohnya

Choose your travel dates

<div class="p1">   <p>Choose your travel dates</p>   <div class="align-content-center space-between">     <div class="ampstart-input">       <input class="border-none p0"        id="lb-fullscreen-start"         placeholder="Start date"        on="tap:lb-fullscreen.open"         role="textbox"         tabindex="0">     </div>   <div class="ampstart-input">       <input class="border-none p0"         id="lb-fullscreen-end"         placeholder="End date"         on="tap:lb-fullscreen.open"         role="textbox"         tabindex="0">     </div>     <button class="ampstart-btn caps"       on="tap:lb-fullscreen-picker.clear">Clear</button>   </div>   <amp-lightbox id="lb-fullscreen"     layout="nodisplay"     scrollable>     <button class="ampstart-btn m1 absolute caps z3 small-button"      on="tap:lb-fullscreen.close"       tabindex="0">Close</button>     <amp-date-picker id="lb-fullscreen-picker"       fullscreen       layout="fill"       mode="static"       type="range"       number-of-months="12"     format="MM/DD/YYYY"     on="activate: lb-fullscreen.open;             deactivate: lb-fullscreen.close;"       start-input-selector="#lb-fullscreen-start"       end-input-selector="#lb-fullscreen-end"></amp-date-picker>   </amp-lightbox> </div>

Selector de fecha en un formulario "Date picker in a form"

amp-date-picker Ini terintegrasi dengan formulir AMP. Jika Anda tidak memberikan entri untuk pemilih statis, itu akan membuat entri tersembunyi untuk mengirim formulir.

Contohnya

<form method="post"   class="p1"   action-xhr="/components/amp-form/submit-form-xhr"   target="_top">   <amp-date-picker id="form-picker"     type="single"     mode="static"     layout="fixed-height"     height="360"     format="YYYY-MM-DD">   </amp-date-picker>   <input type="submit"     class="ampstart-btn caps">   <div submit-success>     <template type="amp-mustache">       Success! Thanks for trying the       <code>amp-form</code> demo!     </template>   </div>   <div submit-error>     <template type="amp-mustache">       Error!     </template>   </div> </form>


Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.

Disqus Comments

Sosial Media

Shannenpio Template

Instagram Shannenpio Template
Follow Instagram
Twitter Shannenpio Template
Follow Twitter
Twitter Shannenpio Template
Follow Twitter

Sekilas Tentang

Shannenpio Template

Tweet Share WhatsApp
Sekilas Tentang Blog Shannenpio Template

Awal mula saya belajar membuat sebuah blog untuk belajar bagaimana cara blog itu bekerja, bagaimana struktur-strukturnya, bagaimana membuat template untuk blog itu sendiri, dan bagaimana membuat content-content yang bermanfaat. Karena saya hobi mengutak-atik semua hal tentang yang berhubungan dengan internet, akhirnya saya membuat Blog Shannenpio Template untuk tempat menyalurkan kreatifitas saya.

Tempat Belajar

Blog Shannenpio Template menjadi tempat belajar untuk mengexplore lebih dalam skill yang saya miliki. Di luar sana banyak master-master Blogger yang skillnya diatas rata-rata, itu menjadi semangat saya untuk bisa menjadi seperti mereka. Kalian juga pasti bisa seperti mereka. Jangan patah semangat, mari belajar.

Tempat Berbagi

Takkan pernah habis skill dan ilmu kita meski kita bagikan ke berjuta-juta orang. Skill dan ilmu akan sangat bermanfaat untuk mereka yang sedang belajar untuk mendapatkannya. Itu alasan Blog Shannenpio Template menjadi tempat berbagi saya, semoga yang saya bagikan bermanfaat untuk orang lain. Mari kita saling berbagi, saling bertukar pikiran, saling koreksi.

Tempat Promosi

Lewat Blog Shannenpio Template saya juga mempromosikan berbagai macam jenis usaha, agar mempermudah publik untuk menemukan apa yang di cari, dan menambah opsi rekomendasi untuk mereka. Dan mungkin suatu waktu saya juga bisa mempunyai sebuah usaha yang akan saya promosikan lewat Blog Shannenpio Template.

Tempat Bisnis

Melalui Blog Shannenpio Template saya mencoba untuk menemukan sebuah bisnis yang bisa saya kembangkan, karena setiap orang mempunyai impian untuk memiliki bisnis atau usaha yang menghasilkan uang. Demikian juga saya, saya mempunyai impian untuk mempunyai sebuah bisnis atau usaha yang menghasilkan uang. Saya akan mulai dari Blog Shannenpio Template.

Kontak Saya
Sekilas Tentang Blog Shannenpio Template

Awal mula saya belajar membuat sebuah blog untuk belajar bagaimana cara blog itu bekerja, bagaimana struktur-strukturnya, bagaimana membuat template untuk blog itu sendiri, dan bagaimana membuat content-content yang bermanfaat. Karena saya hobi mengutak-atik semua hal tentang yang berhubungan dengan internet, akhirnya saya membuat Blog Shannenpio Template untuk tempat menyalurkan kreatifitas saya.

Lihat selengkapnya Ciutkan Accordion

Blog Tempat Belajar

Blog Shannenpio Template menjadi tempat belajar untuk mengexplore lebih dalam skill yang saya miliki. Di luar sana banyak master-master Blogger yang skillnya diatas rata-rata, itu menjadi semangat saya untuk bisa menjadi seperti mereka. Kalian juga pasti bisa seperti mereka. Jangan patah semangat, mari belajar.

Blog Tempat Berbagi

Takkan pernah habis skill dan ilmu kita meski kita bagikan ke berjuta-juta orang. Skill dan ilmu akan sangat bermanfaat untuk mereka yang sedang belajar untuk mendapatkannya. Itu alasan Blog Shannenpio Template menjadi tempat berbagi saya, semoga yang saya bagikan bermanfaat untuk orang lain. Mari kita saling berbagi, saling bertukar pikiran, saling koreksi.

Blog Tempat Promosi

Lewat Blog Shannenpio Template saya juga mempromosikan berbagai macam jenis usaha, agar mempermudah publik untuk menemukan apa yang di cari, dan menambah opsi rekomendasi untuk mereka. Dan mungkin suatu waktu saya juga bisa mempunyai sebuah usaha yang akan saya promosikan lewat Blog Shannenpio Template.

Blog Tempat Bisnis

Melalui Blog Shannenpio Template saya mencoba untuk menemukan sebuah bisnis yang bisa saya kembangkan, karena setiap orang mempunyai impian untuk memiliki bisnis atau usaha yang menghasilkan uang. Demikian juga saya, saya mempunyai impian untuk mempunyai sebuah bisnis atau usaha yang menghasilkan uang. Saya akan mulai dari Blog Shannenpio Template.

My Profile

Follow on Social Networks

Get in touch with or follow his social feed for the latest news and information.

Google Plus Badge

Shannenpio Template

Indonesian Blogger