timesheet source code
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

709 lines
14KB

  1. html,
  2. body {
  3. margin: 0px !important;
  4. overflow: hidden;
  5. }
  6. .bts_hidden{
  7. z-index: -1;
  8. }
  9. .titlebar_gradient {
  10. /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#f6e6b4+0,ed9017+100 */
  11. background: rgb(246,230,180); /* Old browsers */
  12. background: -moz-linear-gradient(top, rgba(246,230,180,1) 0%, rgba(237,144,23,1) 100%); /* FF3.6-15 */
  13. background: -webkit-linear-gradient(top, rgba(246,230,180,1) 0%,rgba(237,144,23,1) 100%); /* Chrome10-25,Safari5.1-6 */
  14. background: linear-gradient(to bottom, rgba(246,230,180,1) 0%,rgba(237,144,23,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  15. filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f6e6b4', endColorstr='#ed9017',GradientType=0 ); /* IE6-9 */
  16. }
  17. .timesheets {
  18. width: calc(100vw - 300px);
  19. height: 100vh;
  20. margin: 0px;
  21. padding: 0px;
  22. left: 150px;
  23. position: fixed;
  24. background-color: red;
  25. overflow: hidden;
  26. }
  27. .peoplebar {
  28. position: fixed;
  29. top: 0px;
  30. width: 150px;
  31. height: 100vh;
  32. background: lightgrey;
  33. overflow: hidden;
  34. }
  35. .peoplebar.left {
  36. border-radius: 5px 0px 0px 0px;
  37. left: 0px;
  38. }
  39. .peoplebar.right {
  40. right: 0px;
  41. border-radius: 0px 5px 0px 0px;
  42. }
  43. .timesheets .sheettitle {
  44. padding-top: 8px;
  45. text-align: center;
  46. background-color: lightgrey;
  47. height: 40px;
  48. text-shadow: 1px 1px 1px #fcfcfc;
  49. }
  50. .timesheets .workspace {
  51. height: calc(100vh - 180px);
  52. background-color: white;
  53. overflow-x: hidden;
  54. overflow-y: scroll;
  55. }
  56. .timesheets .statusbar {
  57. position: relative;
  58. height: 40px;
  59. background-color: ivory;
  60. box-shadow: 1px 1px 10px black;
  61. }
  62. /* staff search bar*/
  63. .b_search {
  64. position: relative;
  65. height: 40px;
  66. }
  67. .b_search input {
  68. margin-top: 5px;
  69. padding-left: 20px;
  70. padding-right: 20px;
  71. border-radius: 20px;
  72. box-shadow: 1px 1px 2px grey inset;
  73. height: 30px;
  74. }
  75. .b_search .ticon-search {
  76. position: absolute;
  77. top: 15px;
  78. left: 5px;
  79. }
  80. .b_search .ticon-times-circle-o {
  81. position: absolute;
  82. top: 15px;
  83. right: 5px;
  84. }
  85. .peoplebar button {
  86. width: 100%;
  87. padding: 0px;
  88. height: 20px;
  89. }
  90. .peoplebar .stafflist,
  91. .peoplebar .clientlist {
  92. height: calc(100vh - 80px);
  93. background-color: dimgrey;
  94. overflow: hidden;
  95. text-align: center;
  96. /* scroll-behavior: smooth; */
  97. }
  98. .peopleitem {
  99. position: relative;
  100. margin-top: 10px;
  101. margin-bottom: 10px;
  102. height: 100px;
  103. background: transparent;
  104. }
  105. /* hover box */
  106. div.peopleitem > label {
  107. -webkit-perspective: 1000px;
  108. perspective: 1000px;
  109. -webkit-transform-style: preserve-3d;
  110. transform-style: preserve-3d;
  111. display: block;
  112. width: 100%;
  113. height: 100px;
  114. position: absolute;
  115. left: 50%;
  116. top: 50%;
  117. -webkit-transform: translate(-50%, -50%);
  118. transform: translate(-50%, -50%);
  119. cursor: pointer;
  120. }
  121. div.peopleitem .card {
  122. position: relative;
  123. height: 100%;
  124. width: 95%;
  125. margin: auto;
  126. -webkit-transform-style: preserve-3d;
  127. transform-style: preserve-3d;
  128. -webkit-transition: all 600ms;
  129. transition: all 600ms;
  130. z-index: 20;
  131. border: 1px solid black;
  132. box-shadow: 1px 1px 10px black;
  133. }
  134. div.peopleitem .card > div {
  135. position: absolute;
  136. height: 100%;
  137. width: 100%;
  138. background: #FFF;
  139. text-align: center;
  140. /* line-height: 200px; */
  141. -webkit-backface-visibility: hidden;
  142. backface-visibility: hidden;
  143. border-radius: 2px;
  144. }
  145. div.peopleitem .card .back {
  146. background: #222;
  147. color: #FFF;
  148. -webkit-transform: rotateX(180deg);
  149. transform: rotateX(180deg);
  150. }
  151. div.peopleitem label:hover .card {
  152. -webkit-transform: rotateX(20deg);
  153. transform: rotateX(20deg);
  154. box-shadow: 0 20px 20px rgba(50,50,50,.2);
  155. }
  156. div.peopleitem input {
  157. display: none;
  158. }
  159. div.peopleitem :checked + .card {
  160. transform: rotateX(180deg);
  161. -webkit-transform: rotateX(180deg);
  162. }
  163. div.peopleitem label:hover :checked + .card {
  164. transform: rotateX(160deg);
  165. -webkit-transform: rotateX(160deg);
  166. box-shadow: 0 20px 20px rgba(255,255,255,.2);
  167. }
  168. /* end of hover box */
  169. .satusbar {
  170. position: relative;
  171. }
  172. .statusbar * {
  173. vertical-align: top;
  174. text-shadow: 1px 1px 1px #fcfcfc;
  175. }
  176. .statusbar div {
  177. position: relative;
  178. display: inline;
  179. }
  180. .statusbar .xero {
  181. width: 40px;
  182. height: 100%;
  183. margin-left: 5px;
  184. margin-right: 5px;
  185. display: inline-block;
  186. background-color: white;
  187. box-shadow: inset 0px 0px 2px dotted white;
  188. border-radius: 100px;
  189. background-image: url(http://acaresydney.com.au/wp-content/uploads/2019/06/xero.png);
  190. background-size: 40px;
  191. box-shadow: 0px 0px 10px white;
  192. }
  193. .statusbar .wifi i,
  194. .statusbar .xero i {
  195. font-size: 20px;
  196. color: red;
  197. position: absolute;
  198. right: 0px;
  199. top: -5px;
  200. }
  201. .statusbar .wifi {
  202. width: 40px;
  203. height: 100%;
  204. margin-left: 0px;
  205. margin-right: 100px;
  206. display: inline-block;
  207. background-color: white;
  208. box-shadow: inset 0px 0px 2px black;
  209. border-radius: 100px;
  210. background-image: url(http://acaresydney.com.au/wp-content/uploads/2019/06/wnet.png);
  211. background-size: 40px;
  212. box-shadow: 0px 0px 10px white;
  213. }
  214. .statusbar .xero:hover,
  215. .statusbar .wifi:hover {
  216. box-shadow: 0px 0px 3px black;
  217. }
  218. .statusbar .wages {
  219. text-align: center;
  220. width: 150px;
  221. height: 100%;
  222. display: inline-block;
  223. background-color: transparent;
  224. font-size: 24px;
  225. font-weight: bold;
  226. color: dimgrey;
  227. border: 1px dotted white;
  228. position: absolute;
  229. right: 400px;
  230. }
  231. .statusbar .workinghours {
  232. background-color: transparent;
  233. width: 175px;
  234. height: 100%;
  235. display: inline-block;
  236. position: absolute;
  237. right: 220px;
  238. }
  239. .workinghours label {
  240. transform: unset;
  241. left: 0;
  242. top: 0;
  243. width: 50px;
  244. height: 100%;
  245. padding: 0.5em;
  246. text-align: left;
  247. display: inline-block;
  248. color: #A974D;
  249. font-weight: bolder;
  250. line-height: 15px;
  251. background-color: transparent;
  252. margin-right: 0px;
  253. }
  254. .statusbar input {
  255. margin: 0px;
  256. width: 115px;
  257. height: 100%;
  258. display: inline-block;
  259. font-size: 24px;
  260. background: transparent;
  261. text-align: center;
  262. }
  263. .statusbar button[name='confirmschedule'] {
  264. margin-top: 5px;
  265. margin-bottom: 5px ;
  266. text-shadow: 0px 0px 2px black;
  267. width: 200px ;
  268. height: calc( 100% - 10px );
  269. font-weight: bolder;
  270. position: absolute;
  271. right: 10px;
  272. }
  273. div.sheetsheader {
  274. height: 100px;
  275. background: darkorange;
  276. position: relative;
  277. }
  278. div.prevweek {
  279. display: inline-block;
  280. height: 70px;
  281. width: 40px;
  282. font-size: 36px;
  283. padding-top: 5px;
  284. padding-left: 2px;
  285. float: left;
  286. background: darkorange;
  287. }
  288. div.prevweek span:hover,
  289. div.nextweek span:hover {
  290. box-shadow: 1px 1px 10px black;
  291. border-radius: 20px;
  292. color: black;
  293. }
  294. div.nextweek {
  295. display: inline-block;
  296. height: 70px;
  297. width: 40px;
  298. font-size: 36px;
  299. padding-top: 5px;
  300. padding-left: 4px;
  301. float: right;
  302. }
  303. div.weekly {
  304. width: calc( 100% - 80px ) ;
  305. display: inline-block;
  306. background-color: black;
  307. height: 70px;
  308. }
  309. div.weekly div {
  310. margin: 0px;
  311. }
  312. div.weekly div.weekname {
  313. position: relative;
  314. width: 130px;
  315. top: -5px;
  316. border: 2px solid grey;
  317. border-radius: 10px;
  318. text-align: center;
  319. background-color: white;
  320. }
  321. div.weekly div.weekname.prev {
  322. position: absolute;
  323. left: 100px;
  324. z-index: 1;
  325. }
  326. div.weekly div.weekname.next {
  327. position: absolute;
  328. right: 100px;
  329. z-index: 1;
  330. }
  331. div.weekly >div.weekname:hover,
  332. div.weekly >div.copyprogress:hover,
  333. div.weekly div[name='copyschedule']:hover
  334. {
  335. cursor: pointer;
  336. box-shadow: 0px 0px 10px red;
  337. }
  338. div.weekly div.copyprogress {
  339. position: absolute;
  340. display: inline-block;
  341. width: calc(100% - 80px);
  342. height: 15px;
  343. background-color: yellow;
  344. top: 0px;
  345. border-radius: 2px;
  346. box-shadow: inset 1px 1px 2px black;
  347. text-align:center;
  348. }
  349. div.copyprogress div[name='copyschedule'] {
  350. position: relative;
  351. top: 0px;
  352. width: 100px;
  353. height: 15px;
  354. padding: 0px;
  355. border-radius: 10px;
  356. background-color: black;
  357. margin:auto;
  358. }
  359. div.weekdays {
  360. position: absolute;
  361. top: 15px;
  362. width: calc(100% - 80px);
  363. height: 55px;
  364. background-color: darkorange;
  365. text-align: center;
  366. }
  367. div.week1,
  368. div.week2 {
  369. display: inline-block;
  370. width: 45%;
  371. height: 55px;
  372. background-color: darkorange;
  373. text-align: justify;
  374. border: 1px dashed lightgrey;
  375. padding-left: 10px;
  376. padding-right: 10px;
  377. }
  378. div.week1:after,
  379. div.week2:after {
  380. content: '';
  381. display: inline-block;
  382. width: 100%;
  383. }
  384. div.week1 {
  385. position: relative;
  386. left: -10px;
  387. }
  388. div.week2 {
  389. position: relative;
  390. left: 10px;
  391. }
  392. div.week1 > div,
  393. div.week2 > div {
  394. display: inline-block;
  395. text-align: center;
  396. width: 10%;
  397. height: 40px;
  398. color: white;
  399. margin-top: 5px;
  400. font-weight: bolder;
  401. border-radius: 10px;
  402. }
  403. div.week1 div:hover,
  404. div.week2 div:hover
  405. {
  406. cursor:pointer;
  407. box-shadow: 0px 0px 10px red;
  408. }
  409. div.week1 > div {
  410. /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ebe9f9+0,d8d0ef+50,cec7ec+51,c1bfea+100;Purple+3D+%231 */
  411. background: #ebe9f9; /* Old browsers */
  412. background: -moz-linear-gradient(top, #ebe9f9 0%, #d8d0ef 50%, #cec7ec 51%, #c1bfea 100%); /* FF3.6-15 */
  413. background: -webkit-linear-gradient(top, #ebe9f9 0%,#d8d0ef 50%,#cec7ec 51%,#c1bfea 100%); /* Chrome10-25,Safari5.1-6 */
  414. background: linear-gradient(to bottom, #ebe9f9 0%,#d8d0ef 50%,#cec7ec 51%,#c1bfea 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  415. filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ebe9f9', endColorstr='#c1bfea',GradientType=0 ); /* IE6-9 */
  416. box-shadow: 0px 0px 10px white inset;
  417. }
  418. div.week2 > div {
  419. background-color: #285c00;
  420. box-shadow: 0px 0px 10px white inset;
  421. /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#627d4d+0,1f3b08+100;Olive+3D */
  422. background: #627d4d; /* Old browsers */
  423. background: -moz-linear-gradient(top, #627d4d 0%, #1f3b08 100%); /* FF3.6-15 */
  424. background: -webkit-linear-gradient(top, #627d4d 0%,#1f3b08 100%); /* Chrome10-25,Safari5.1-6 */
  425. background: linear-gradient(to bottom, #627d4d 0%,#1f3b08 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  426. filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#627d4d', endColorstr='#1f3b08',GradientType=0 ); /* IE6-9 */
  427. }
  428. div.assignment > div {
  429. color: navy;
  430. background-color: white;
  431. font-size: 20px;
  432. font-weight: lighter;
  433. border: 1px dotted lightgrey;
  434. }
  435. /* peple item card*/
  436. .peopleitem div span.checked {
  437. color: orange;
  438. }
  439. .peopleitem div.card div.front > div[name="title"] {
  440. height: auto;
  441. text-align: center;
  442. background-color: lightgrey;
  443. }
  444. div.front > span[name='icon'] {
  445. width: 100%;
  446. height: 15px;
  447. background-color: dimgrey;
  448. color: white;
  449. }
  450. div.back > span.icon {
  451. width: 100%;
  452. background-color: lightgrey;
  453. color: dimgrey;
  454. }
  455. div.front > span.badge,
  456. div.back > span.badge {
  457. border-radius: 50%;
  458. display: inline-block;
  459. padding-left: 8px;
  460. padding-right: 8px;
  461. text-align: center;
  462. position: absolute;
  463. right: -5px;
  464. top: -5px;
  465. }
  466. span.badge.blue {
  467. color: #fff;
  468. box-shadow: 1px 1px 10px black;
  469. background-color: black;
  470. }
  471. span.badge.pink {
  472. color: black;
  473. box-shadow: 1px 1px 10px white;
  474. background-color: white;
  475. }
  476. /* div table */
  477. div.blueTable {
  478. border: 1px solid #1C6EA4;
  479. background-color: #EEEEEE;
  480. width: 100%;
  481. text-align: left;
  482. border-collapse: collapse;
  483. border:0px;
  484. }
  485. .divTable.blueTable .divTableCell,
  486. .divTable.blueTable .divTableHead,
  487. {
  488. border: 1px solid #AAAAAA;
  489. padding: 3px 2px;
  490. }
  491. .divTable.blueTable .divTableBody .divTableCell {
  492. font-size: 15px;
  493. }
  494. .divTable.blueTable .divTableRow:nth-child(even) {
  495. background: #D0E4F5;
  496. }
  497. .divTable.blueTable .divTableHeading {
  498. background: #1C6EA4;
  499. background: -moz-linear-gradient(top, #5592bb 0%, #327cad 66%, #1C6EA4 100%);
  500. background: -webkit-linear-gradient(top, #5592bb 0%, #327cad 66%, #1C6EA4 100%);
  501. background: linear-gradient(to bottom, #5592bb 0%, #327cad 66%, #1C6EA4 100%);
  502. border-bottom: 2px solid #444444;
  503. }
  504. .divTable.blueTable .divTableHeading .divTableHead {
  505. font-size: 15px;
  506. font-weight: bold;
  507. color: #FFFFFF;
  508. border-left: 2px solid #D0E4F5;
  509. }
  510. .divTable.blueTable .divTableHeading .divTableHead:first-child {
  511. border-left: none;
  512. }
  513. .blueTable .tableFootStyle {
  514. font-size: 14px;
  515. font-weight: bold;
  516. color: #FFFFFF;
  517. background: #D0E4F5;
  518. background: -moz-linear-gradient(top, #dcebf7 0%, #d4e6f6 66%, #D0E4F5 100%);
  519. background: -webkit-linear-gradient(top, #dcebf7 0%, #d4e6f6 66%, #D0E4F5 100%);
  520. background: linear-gradient(to bottom, #dcebf7 0%, #d4e6f6 66%, #D0E4F5 100%);
  521. border-top: 2px solid #444444;
  522. }
  523. .blueTable .tableFootStyle {
  524. font-size: 14px;
  525. }
  526. .blueTable .tableFootStyle .links {
  527. text-align: right;
  528. }
  529. .blueTable .tableFootStyle .links a {
  530. display: inline-block;
  531. background: #1C6EA4;
  532. color: #FFFFFF;
  533. padding: 2px 8px;
  534. border-radius: 5px;
  535. }
  536. .blueTable.outerTableFooter {
  537. border-top: none;
  538. }
  539. .blueTable.outerTableFooter .tableFootStyle {
  540. padding: 3px 5px;
  541. }
  542. /* DivTable.com */
  543. .divTable {
  544. display: table;
  545. margin: 3px 0px 3px 0px;
  546. }
  547. .divTable.highlight{
  548. box-shadow: 1px 1px 10px #f50202;
  549. }
  550. .divTableRow {
  551. display: table-row;
  552. }
  553. .divTableHeading {
  554. display: table-header-group;
  555. }
  556. .divTableCell,
  557. .divTableHead {
  558. display: table-cell;
  559. }
  560. .divTableHeading {
  561. display: table-header-group;
  562. }
  563. .divTableFoot {
  564. display: table-footer-group;
  565. }
  566. .divTableBody {
  567. display: table-row-group;
  568. }
  569. /* customized part of div table */
  570. div.sheettableheader {
  571. margin-top: 0px;
  572. height: 26px;
  573. overflow-x: hidden;
  574. overflow-y: scroll;
  575. }
  576. div.btos,
  577. div.bstart,
  578. div.bfinish,
  579. div.brate,
  580. div.bstaff,
  581. div.bclient,
  582. div.bconfirmed,
  583. div.bdelete {
  584. width: 10%;
  585. height: 30px;
  586. }
  587. div.btos {
  588. width: 20%;
  589. }
  590. div.brate{
  591. width: 20%;
  592. max-width: 20px;
  593. }
  594. .divTable div > select{
  595. width: 100%;
  596. height: 100%;
  597. }
  598. div.bdelete,
  599. div.bconfirmed {
  600. text-align:center;
  601. width: 5%;
  602. }
  603. /* short code for the table */
  604. div.btos select,
  605. div.bstart input,
  606. div.bfinish input{
  607. width: 100%;
  608. height: 100%;
  609. }
  610. }
  611. /* end of div table */