漫談SAP產品頁面上的Checkbox設計與實現系列之一

      網友投稿 700 2022-05-29

      文章目錄

      (1) SAP GUI里的Checkbox

      (2) SAP CRM里的Checkbox

      (3) SAP Cloud for Customer里的Checkbox

      (4) SAP UI5里的Checkbox

      (5) SAP S/4HANA里的Checkbox

      (6) SAP Spartacus里的Checkbox

      本文介紹前三部分,其中歷史最悠久的當然就是SAP GUI里的Checkbox.

      漫談SAP產品里頁面上的Checkbox設計與實現系列之一

      值得一提的是,SAP GUI Screen里的控件也支持Keyboard Accessibility,即通過鍵盤的Tab鍵,可以逐一導航到屏幕上的每一個控件。

      SAP CRM WebClient UI本質上還是ABAP BSP技術,其Checkbox的一個例子,如下圖Main Partner列:

      一個用戶肉眼可見的Checkbox,在SAP CRM系統里由總共6個HTML標簽組合而成。

      當Checkbox里的勾選中時,最外層的wrapper div標簽的class變為th-sapcb-chkd,chkd是checked的縮寫。 內層a標簽屬性值aria-checked設置為true.

      div內層一個隱藏的input標簽,如下圖標號6所示,用于同ABAP后臺進行值傳遞,其value屬性值變為X.

      當Checkbox勾選時,上述介紹的最外層wrapper div的class變為th-sapcb-blk, blk意為blank; 內層a標簽的aria-checked屬性設置為false,hidden input的value屬性值置空。

      而Checkbox的小勾視覺效果,通過a標簽的CSS::before選擇器實現。如上圖黃色所示。

      ::before選擇器的用法,通過下面這個簡單的例子可以學會——在施加了::before選擇器的HTML元素前部,會自動出現選擇器content屬性指定的內容。

      '\e05d’代表小勾的視覺效果:

      我們試著在Chrome開發者工具里將這個content屬性值改一改。’\e05c’代表hint,一個小感嘆號:

      '\e05d’代表group:

      ::before選擇器的width和height屬性控制Checkbox矩形框的寬和高:

      這一套::before content屬性值和對應的icon視覺效果圖的映射關系,可以在這個鏈接里獲得:

      https://sapui5.hana.ondemand.com/test-resources/sap/ui/core/Icon.html

      當然,SAP CRM的開發人員,是不會直接編寫原生的HTML代碼的。在SAP CRM里需要將一個控件定義成Checkbox,只需要實現這個控件綁定的模型節點字段的GET_P方法:

      里面將控件的fp_fieldtype設置為field_type_checkbox.

      Jerry之前的文章 SAP UI 搜索分頁技術 提到,SAP CRM UI采用服務器端渲染技術,WebClient UI框架基于上述維護的控件元數據,為一個Checkbox控件,在ABAP端渲染出上述介紹的總共7個HTML元素對應的原生HTML代碼。

      SAP Cloud for Customer(C4C)里的Checkbox

      SAP C4C里的Checkbox顏值較之SAP GUI和SAP CRM有了很大的提升:

      同SAP CRM一樣,SAP C4C最終渲染出的HTML頁面里,也是由多個HTML元素協同工作,形成最后的Checkbox視覺效果。

      C4C的Checkbox處于未選中狀態時,wrapper div的aria-checked屬性值為false, 內層div被賦予css類sapMSwtOff,span節點的值為No:

      Checkbox處于選中狀態時,aria-checked屬性切換為true,內層div的class切換成sapMSwtOn, span的值為Yes:

      C4C里的Checkbox,視覺效果上并不是SAP GUI里和SAP CRM里樸素的小勾,而是一個類似抽屜的滑動效果。

      這個效果并未像SAP CRM那樣采取::before實現,而是通過給一個div標簽同時添加sapMSwtOn和sapMSwtHandle這兩個類實現的,handle的字面意思即抽屜的把手。

      Checkbox關閉狀態的把手視覺效果通過sapMSwtOff和sapMSwtHandle這兩個類共同實現,把手尺寸通過sapUiSizeCompact的height和width控制:

      當然,SAP C4C二次開發人員也不需要直接編寫這些原生的HTML代碼,而是在SAP C4C UI Designer里,從控件工具箱里拖拽一個Checkbox類型的控件到UI編輯界面即可實現Checkbox效果。

      ABAP Angular HTML

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:數據結構——排序
      下一篇:【鯤鵬遷移及實踐帖子匯總】第一彈~~
      相關文章
      色婷婷亚洲一区二区三区| 性色av极品无码专区亚洲| 亚洲国模精品一区| 亚洲av无码成人精品区一本二本| 亚洲中文字幕久久精品蜜桃| 99久久婷婷国产综合亚洲| 亚洲一区在线免费观看| 亚洲av成人一区二区三区| 亚洲国产成人综合| 亚洲卡一卡二卡乱码新区| 国产精品亚洲综合五月天| 国产人成亚洲第一网站在线播放| 亚洲色一区二区三区四区 | 亚洲日本国产综合高清| 亚洲一级毛片免费观看| 33333在线亚洲| 亚洲综合丁香婷婷六月香| 亚洲午夜在线播放| 亚洲精品蜜夜内射| 久久亚洲精品高潮综合色a片| 亚洲AⅤ男人的天堂在线观看| 日韩亚洲精品福利| 亚洲欧洲精品成人久久曰影片 | 亚洲精品白色在线发布| 亚洲欧洲校园自拍都市| 亚洲av无码片在线观看| 中日韩亚洲人成无码网站| 亚洲精品无码aⅴ中文字幕蜜桃| 国产亚洲综合一区二区三区| 久99精品视频在线观看婷亚洲片国产一区一级在线 | 久久久久亚洲AV无码去区首| 国产精品亚洲一区二区三区久久 | 亚洲精品456播放| 国产精品亚洲二区在线观看 | 精品国产日韩久久亚洲| 亚洲av午夜电影在线观看| 亚洲性日韩精品国产一区二区| 中文字幕亚洲图片| 亚洲AV乱码一区二区三区林ゆな| 亚洲国产成人在线视频| 亚洲中文字幕无码亚洲成A人片|