看到了吧,這就是主界面,首先咱們來看一下My Document的View部分。在看View以前,咱們先看一下Mode的設計。javascript
1css 2html 3java 4正則表達式 5json 6bootstrap 7api 8微信 9app 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
|
咱們設計了文件Schema,fileSchema,注意這裏的sparse:true,意思是發散索引,即非彙集索引。
1 2 3 4 |
|
還有這裏,咱們預約義一個方法,當更新fileModel的時候,會先更新lasteditdate,再更新其餘字段,由於咱們更新的話,最後修改日期確定是當前時間,也不須要用戶每次都去傳,因此這裏預約義仍是頗有用處的。
接下來就是文件組和文件子組,總共兩級,文件組和包含文件和子組,子組只能包含文件,因此這裏設置及的時候,fileGroup中有個subgroup的定義,注意這裏的subgroup它不是一個引用ref,而是嵌入的文檔,是一個總體,可是它對file是隻是一個主鍵的引用。
最後咱們將這些定義好的model模塊化公開出去。
1 2 3 4 5 6 7 8 9 |
|
接下來咱們先看一下View頁面的定義。
1 2 3 4 5 6 7 8 9 |
|
在個人文檔咱們包含了兩個頁面,dicview.jade和docedit.jade,看一下docview。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
|
這個頁面包含一個Owned Document和Shared Document,咱們看一下js部分。
1 2 3 4 5 6 7 8 9 10 11 |
|
頁面load完成後,直接查詢。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
|
拼好查詢json對象後,post到api去查詢,而後根據返回的數據去構造kendoPager,最後咱們去構造文件列表,每一個文件在雙擊的時候,都會跳轉到index界面讀取文件的內容展現在kendospread sheet上。咱們看一下效果。
分頁,點擊2到第二頁
分頁是沒有問題的,美觀大方。OK,對於Shared Document的js代碼,和上面的基本同樣。
看上去只是多了個tooltip的說明,其實這個效果是bootstrap提供的,咱們只須要寫以下的代碼便可。
1 2 3 4 5 6 7 8 |
|
OK最後咱們看一下rest api。
1 2 3 |
|
根據url咱們知道方法在filemng.js中。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
|
注意這裏的查詢,對於filename的模糊查詢,用正則表達式。對於日期的查詢,咱們用gte和lte,大於和小於。最後咱們先算出總數,再拿到分頁的數據,將數據拼成json對象輸出到客戶端。
用robomongo查了一下,確實也是22條數據
共享的文件也只有2個
OK,今天就到這裏,若是你們想要源碼,估計要到實戰15之後了,慢慢等吧。
結束語
免費學習更多精品課程,登陸樂搏學院官網http://h.learnbo.cn/
或關注咱們的官方微博微信,還有更多驚喜哦~
本文出自 「技術創造價值」 博客,請務必保留此出處http://leelei.blog.51cto.com/856755/1795164