vis.js is a dynamic, browser-based visualization library
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

510 lines
10 KiB

  1. .vis.timeline {
  2. }
  3. .vis.timeline.rootpanel {
  4. position: relative;
  5. overflow: hidden;
  6. border: 1px solid #bfbfbf;
  7. box-sizing: border-box;
  8. /* FIXME: there is an issue with the height of the items when panel height is animated
  9. -webkit-transition: height 4s ease-in-out;
  10. transition: height 4s ease-in-out;
  11. /**/
  12. }
  13. .vis.timeline .vpanel {
  14. position: absolute;
  15. overflow: visible;
  16. box-sizing: border-box;
  17. }
  18. .vis.timeline .vpanel.side {
  19. border-right: 1px solid #bfbfbf;
  20. }
  21. .vis.timeline .vpanel.side.hidden {
  22. display: none;
  23. }
  24. .vis.timeline .vpanel.main {
  25. position: absolute;
  26. overflow: hidden;
  27. box-sizing: border-box;
  28. }
  29. .vis.timeline .labelset {
  30. position: relative;
  31. width: 100%;
  32. overflow: hidden;
  33. box-sizing: border-box;
  34. }
  35. .vis.timeline .labelset .vlabel {
  36. position: relative;
  37. left: 0;
  38. top: 0;
  39. width: 100%;
  40. color: #4d4d4d;
  41. box-sizing: border-box;
  42. }
  43. .vis.timeline.top .labelset .vlabel {
  44. border-top: 1px solid #bfbfbf;
  45. border-bottom: none;
  46. }
  47. .vis.timeline.bottom .labelset .vlabel {
  48. border-top: none;
  49. border-bottom: 1px solid #bfbfbf;
  50. }
  51. .vis.timeline .labelset .vlabel .inner {
  52. display: inline-block;
  53. padding: 5px;
  54. }
  55. .vis.timeline .itemset {
  56. position: relative;
  57. padding: 0;
  58. margin: 0;
  59. box-sizing: border-box;
  60. /* FIXME: get transition working for rootpanel and itemset
  61. -webkit-transition: height 4s ease-in-out;
  62. transition: height 4s ease-in-out;
  63. /**/
  64. }
  65. .vis.timeline .background {
  66. }
  67. .vis.timeline .foreground {
  68. }
  69. .vis.timeline .axis {
  70. overflow: visible;
  71. }
  72. .vis.timeline .group {
  73. position: relative;
  74. box-sizing: border-box;
  75. }
  76. .vis.timeline.top .group {
  77. border-top: 1px solid #bfbfbf;
  78. border-bottom: none;
  79. }
  80. .vis.timeline.bottom .group {
  81. border-top: none;
  82. border-bottom: 1px solid #bfbfbf;
  83. }
  84. .vis.timeline .item {
  85. position: absolute;
  86. color: #1A1A1A;
  87. border-color: #97B0F8;
  88. border-width: 1px;
  89. background-color: #D5DDF6;
  90. display: inline-block;
  91. padding: 5px;
  92. /* TODO: enable css transitions
  93. -webkit-transition: top .4s ease-in-out, bottom .4s ease-in-out;
  94. transition: top .4s ease-in-out, bottom .4s ease-in-out;
  95. /**/
  96. }
  97. .vis.timeline .item.selected {
  98. border-color: #FFC200;
  99. background-color: #FFF785;
  100. z-index: 999;
  101. }
  102. .vis.timeline.editable .item.selected {
  103. cursor: move;
  104. }
  105. .vis.timeline .item.point.selected {
  106. background-color: #FFF785;
  107. }
  108. .vis.timeline .item.box {
  109. text-align: center;
  110. border-style: solid;
  111. border-radius: 2px;
  112. }
  113. .vis.timeline .item.point {
  114. background: none;
  115. }
  116. .vis.timeline .item.dot {
  117. position: absolute;
  118. padding: 0;
  119. border-width: 4px;
  120. border-style: solid;
  121. border-radius: 4px;
  122. }
  123. .vis.timeline .item.range,
  124. .vis.timeline .item.rangeoverflow{
  125. border-style: solid;
  126. border-radius: 2px;
  127. box-sizing: border-box;
  128. }
  129. .vis.timeline .item.range .content,
  130. .vis.timeline .item.rangeoverflow .content {
  131. position: relative;
  132. display: inline-block;
  133. }
  134. .vis.timeline .item.range .content {
  135. overflow: hidden;
  136. max-width: 100%;
  137. }
  138. .vis.timeline .item.line {
  139. padding: 0;
  140. position: absolute;
  141. width: 0;
  142. border-left-width: 1px;
  143. border-left-style: solid;
  144. /* TODO: enable css transitions
  145. -webkit-transition: height .4s ease-in-out, top .4s ease-in-out;
  146. transition: height .4s ease-in-out, top .4s ease-in-out;
  147. /**/
  148. }
  149. .vis.timeline .item .content {
  150. white-space: nowrap;
  151. overflow: hidden;
  152. }
  153. .vis.timeline .item .delete {
  154. background: url('img/timeline/delete.png') no-repeat top center;
  155. position: absolute;
  156. width: 24px;
  157. height: 24px;
  158. top: 0;
  159. right: -24px;
  160. cursor: pointer;
  161. }
  162. .vis.timeline .item.range .drag-left,
  163. .vis.timeline .item.rangeoverflow .drag-left {
  164. position: absolute;
  165. width: 24px;
  166. height: 100%;
  167. top: 0;
  168. left: -4px;
  169. cursor: w-resize;
  170. z-index: 10000;
  171. }
  172. .vis.timeline .item.range .drag-right,
  173. .vis.timeline .item.rangeoverflow .drag-right {
  174. position: absolute;
  175. width: 24px;
  176. height: 100%;
  177. top: 0;
  178. right: -4px;
  179. cursor: e-resize;
  180. z-index: 10001; /* a little higher z-index than .drag-left */
  181. }
  182. .vis.timeline .dataaxis .grid.horizontal {
  183. position: absolute;
  184. left: 0;
  185. width: 100%;
  186. height: 0;
  187. border-bottom: 1px solid;
  188. }
  189. .vis.timeline .dataaxis .grid.minor {
  190. border-color: #e5e5e5;
  191. }
  192. .vis.timeline .dataaxis .grid.major {
  193. border-color: #bfbfbf;
  194. }
  195. .vis.timeline .dataaxis .yAxis.major {
  196. font-size:12px;
  197. width: 100%;
  198. position: absolute;
  199. color: #4d4d4d;
  200. white-space: nowrap;
  201. }
  202. .vis.timeline .dataaxis .yAxis.minor{
  203. font-size:9px;
  204. position: absolute;
  205. width: 100%;
  206. color: #4d4d4d;
  207. white-space: nowrap;
  208. }
  209. .vis.timeline .timeaxis {
  210. position: absolute;
  211. }
  212. .vis.timeline .timeaxis .text {
  213. position: absolute;
  214. color: #4d4d4d;
  215. padding: 3px;
  216. white-space: nowrap;
  217. }
  218. .vis.timeline .timeaxis .text.measure {
  219. position: absolute;
  220. padding-left: 0;
  221. padding-right: 0;
  222. margin-left: 0;
  223. margin-right: 0;
  224. visibility: hidden;
  225. }
  226. .vis.timeline .timeaxis .grid.vertical {
  227. position: absolute;
  228. width: 0;
  229. border-right: 1px solid;
  230. }
  231. .vis.timeline .timeaxis .grid.horizontal {
  232. position: absolute;
  233. left: 0;
  234. width: 100%;
  235. height: 0;
  236. border-bottom: 1px solid;
  237. }
  238. .vis.timeline .timeaxis .grid.minor {
  239. border-color: #e5e5e5;
  240. }
  241. .vis.timeline .timeaxis .grid.major {
  242. border-color: #bfbfbf;
  243. }
  244. .vis.timeline .currenttime {
  245. background-color: #FF7F6E;
  246. width: 2px;
  247. z-index: 9;
  248. }
  249. .vis.timeline .customtime {
  250. background-color: #6E94FF;
  251. width: 2px;
  252. cursor: move;
  253. z-index: 9;
  254. }
  255. div.graph-manipulationDiv {
  256. border-width:0px;
  257. border-bottom: 1px;
  258. border-style:solid;
  259. border-color: #d6d9d8;
  260. background: #ffffff; /* Old browsers */
  261. background: -moz-linear-gradient(top, #ffffff 0%, #fcfcfc 48%, #fafafa 50%, #fcfcfc 100%); /* FF3.6+ */
  262. background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(48%,#fcfcfc), color-stop(50%,#fafafa), color-stop(100%,#fcfcfc)); /* Chrome,Safari4+ */
  263. background: -webkit-linear-gradient(top, #ffffff 0%,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%); /* Chrome10+,Safari5.1+ */
  264. background: -o-linear-gradient(top, #ffffff 0%,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%); /* Opera 11.10+ */
  265. background: -ms-linear-gradient(top, #ffffff 0%,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%); /* IE10+ */
  266. background: linear-gradient(to bottom, #ffffff 0%,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%); /* W3C */
  267. filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#fcfcfc',GradientType=0 ); /* IE6-9 */
  268. width: 600px;
  269. height:30px;
  270. z-index:10;
  271. position:absolute;
  272. }
  273. div.graph-manipulation-editMode {
  274. height:30px;
  275. z-index:10;
  276. position:absolute;
  277. margin-top:20px;
  278. }
  279. div.graph-manipulation-closeDiv {
  280. height:30px;
  281. width:30px;
  282. z-index:11;
  283. position:absolute;
  284. margin-top:3px;
  285. margin-left:590px;
  286. background-position: 0px 0px;
  287. background-repeat:no-repeat;
  288. background-image: url("img/graph/cross.png");
  289. cursor: pointer;
  290. -webkit-touch-callout: none;
  291. -webkit-user-select: none;
  292. -khtml-user-select: none;
  293. -moz-user-select: none;
  294. -ms-user-select: none;
  295. user-select: none;
  296. }
  297. span.graph-manipulationUI {
  298. font-family: verdana;
  299. font-size: 12px;
  300. -moz-border-radius: 15px;
  301. border-radius: 15px;
  302. display:inline-block;
  303. background-position: 0px 0px;
  304. background-repeat:no-repeat;
  305. height:24px;
  306. margin: -14px 0px 0px 10px;
  307. vertical-align:middle;
  308. cursor: pointer;
  309. padding: 0px 8px 0px 8px;
  310. -webkit-touch-callout: none;
  311. -webkit-user-select: none;
  312. -khtml-user-select: none;
  313. -moz-user-select: none;
  314. -ms-user-select: none;
  315. user-select: none;
  316. }
  317. span.graph-manipulationUI:hover {
  318. box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.20);
  319. }
  320. span.graph-manipulationUI:active {
  321. box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.50);
  322. }
  323. span.graph-manipulationUI.back {
  324. background-image: url("img/graph/backIcon.png");
  325. }
  326. span.graph-manipulationUI.none:hover {
  327. box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.0);
  328. cursor: default;
  329. }
  330. span.graph-manipulationUI.none:active {
  331. box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.0);
  332. }
  333. span.graph-manipulationUI.none {
  334. padding: 0px 0px 0px 0px;
  335. }
  336. span.graph-manipulationUI.notification{
  337. margin: 2px;
  338. font-weight: bold;
  339. }
  340. span.graph-manipulationUI.add {
  341. background-image: url("img/graph/addNodeIcon.png");
  342. }
  343. span.graph-manipulationUI.edit {
  344. background-image: url("img/graph/editIcon.png");
  345. }
  346. span.graph-manipulationUI.edit.editmode {
  347. background-color: #fcfcfc;
  348. border-style:solid;
  349. border-width:1px;
  350. border-color: #cccccc;
  351. }
  352. span.graph-manipulationUI.connect {
  353. background-image: url("img/graph/connectIcon.png");
  354. }
  355. span.graph-manipulationUI.delete {
  356. background-image: url("img/graph/deleteIcon.png");
  357. }
  358. /* top right bottom left */
  359. span.graph-manipulationLabel {
  360. margin: 0px 0px 0px 23px;
  361. line-height: 25px;
  362. }
  363. div.graph-seperatorLine {
  364. display:inline-block;
  365. width:1px;
  366. height:20px;
  367. background-color: #bdbdbd;
  368. margin: 5px 7px 0px 15px;
  369. }
  370. div.graph-navigation {
  371. width:34px;
  372. height:34px;
  373. z-index:10;
  374. -moz-border-radius: 17px;
  375. border-radius: 17px;
  376. position:absolute;
  377. display:inline-block;
  378. background-position: 2px 2px;
  379. background-repeat:no-repeat;
  380. cursor: pointer;
  381. -webkit-touch-callout: none;
  382. -webkit-user-select: none;
  383. -khtml-user-select: none;
  384. -moz-user-select: none;
  385. -ms-user-select: none;
  386. user-select: none;
  387. }
  388. div.graph-navigation:hover {
  389. box-shadow: 0px 0px 3px 3px rgba(56, 207, 21, 0.30);
  390. }
  391. div.graph-navigation:active {
  392. box-shadow: 0px 0px 1px 3px rgba(56, 207, 21, 0.95);
  393. }
  394. div.graph-navigation.active {
  395. box-shadow: 0px 0px 1px 3px rgba(56, 207, 21, 0.95);
  396. }
  397. div.graph-navigation.up {
  398. background-image: url("img/graph/upArrow.png");
  399. bottom:50px;
  400. left:55px;
  401. }
  402. div.graph-navigation.down {
  403. background-image: url("img/graph/downArrow.png");
  404. bottom:10px;
  405. left:55px;
  406. }
  407. div.graph-navigation.left {
  408. background-image: url("img/graph/leftArrow.png");
  409. bottom:10px;
  410. left:15px;
  411. }
  412. div.graph-navigation.right {
  413. background-image: url("img/graph/rightArrow.png");
  414. bottom:10px;
  415. left:95px;
  416. }
  417. div.graph-navigation.zoomIn {
  418. background-image: url("img/graph/plus.png");
  419. bottom:10px;
  420. right:15px;
  421. }
  422. div.graph-navigation.zoomOut {
  423. background-image: url("img/graph/minus.png");
  424. bottom:10px;
  425. right:55px;
  426. }
  427. div.graph-navigation.zoomExtends {
  428. background-image: url("img/graph/zoomExtends.png");
  429. bottom:50px;
  430. right:15px;
  431. }