小编Max*_*ord的帖子

文本溢出省略号在嵌套的flexbox中不起作用

我有一个用flexboxes创建的两列布局.

在右列中,我有两行,第一行包含标题,第二行包含页面内容.

在标题内我有三列,一个按钮,一些文本和一个按钮.

我希望按钮位于列的左侧和右侧,文本占用任何额外的空间.

最后,我希望文本具有white-space:nowraptext-overflow:ellipsis属性来截断长标题.

我的问题是这样的:我无法让文本包装在嵌套在另一个flexbox中的flexbox中正常工作,如下所示:

http://jsfiddle.net/maxmumford/rb4sk3mz/3/

.container {
  display: flex;
  height: 100vh;
}
.left {
  width: 200px;
  background-color: yellow;
}
.right {
  flex: 1;
  background-color: blue;
  color: white;
}
.header {
  background: red;
  color: white;
  display: flex;
  flex-direction: row;
}
.header .content {
  white-space: nowrap;
  flex: 0 1 auto;
  text-overflow: ellipsis;
  overflow: hidden;
  min-width: 0;
}
.header .buttons {
  background: green;
  flex: 1 0 auto;
}
.header .content:hover {
  white-space: normal;
}
Run Code Online (Sandbox Code Playgroud)
<div …
Run Code Online (Sandbox Code Playgroud)

html css ellipsis css3 flexbox

16
推荐指数
3
解决办法
8250
查看次数

删除内部联接的行?

我有一个带有两个表的SQLITE数据库.表A有一个整数时间戳和另一个整数列,其中包含一个行id,表示表B中有两个时间戳的行.

我想删除表A中的所有行,其中时间戳不在表B中的两个时间戳之间,并且ROWID等于X.

这是我目前所拥有的,但我收到语法错误:

DELETE FROM network
WHERE ROWID in (
    SELECT ROWID 
    FROM track 
    INNER JOIN network ON (track.ROWID = network.trackId) 
    WHERE network.timestamp > track.stopTime OR network.timestamp < track.startTime 
        AND network.trackId = X
Run Code Online (Sandbox Code Playgroud)

sqlite android join

15
推荐指数
1
解决办法
1万
查看次数

Angular2在CanActivate之前解决

我有一个身份验证服务,它实现了Resolve接口,以返回一个从服务器检索到用户身份验证状态后解析的observable.

此相同的身份验证服务实现CanActivate接口,以阻止用户在未登录的情况下访问组件.

目前,在解析resolve函数之前触发canActivate函数,这意味着它在从服务器检索登录状态之前检查用户的登录状态.

我的问题是,如何在解析resolve之前阻止调用canActivate函数,或者是否有其他方法可以实现我想要的?

谢谢马克斯.

angular

8
推荐指数
2
解决办法
8807
查看次数

Safari尽管单击事件被调用,但仍阻止了视频的play()

我正在为html5元素创建一些自定义视频控件。我已将click事件处理程序绑定到播放/暂停按钮,该按钮在相应视频上调用.play()。

根据我的研究,除非您在单击处理程序中,否则Safari会阻止对.play()的调用,尽管我是从单击处理程序中触发它的,但它仍阻止了对.play()的调用,例如:

$('.video-container .play-pause').click(function(event){
    var $video = $(event.currentTarget).parent().find('video');
    if($video[0].paused)
      $video[0].play();
    else
      $video[0].pause();
});
Run Code Online (Sandbox Code Playgroud)

错误:

Unhandled Promise Rejection: NotSupportedError (DOM Exception 9): The operation is not supported.
Run Code Online (Sandbox Code Playgroud)

起源于$video[0].play();

Safari版本11.0.1(13604.3.5)

OSX高山脉10.13.1(17B48)

有任何想法吗?

javascript media safari video html5

8
推荐指数
2
解决办法
5098
查看次数

Android显示来自BroadcastReceiver的通知

我有一个扩展BroadcastReceiver的类,只要有新的Wifi扫描结果可用就会被调用(接收器在清单中注册,并将Scan_Results广播作为intent-filter).

从这个课程,我希望能够向用户显示通知.目前,我将在广播意图类的onReceive方法中作为参数接收的上下文传递给另一个类的"show notification"方法.

当它到达该行:

myNotificationManager.notify(notificationId, notification);
Run Code Online (Sandbox Code Playgroud)

它失败,出现以下异常:

java.lang.IllegalArgumentException: contentView required: pkg=com.mumfordmedia.trackify id=2131034122 notification=Notification(vibrate=null,sound=null,defaults=0x0,flags=0x0)
Run Code Online (Sandbox Code Playgroud)

知道为什么会这样吗?我能想到的只是因为我从onReceive参数得到的上下文不是......因为没有更好的短语,"适合工作"......

有任何想法吗?谢谢,马克斯.

notifications android broadcastreceiver wifi

6
推荐指数
2
解决办法
1万
查看次数

Webpack + Express + EJS:错误:找不到模块"."

我正在用webpack,typescript和ejs编写一个快速的Web应用程序.当遇到一个应该提供.ejs文件的路由时,我收到以下错误:

Error: Cannot find module "."
   at webpackMissingModule (/Users/max/Development/test/express-webpack/dist/server.js:20669:74)
   at new View (/Users/max/Development/test/express-webpack/dist/server.js:20669:152)
   at EventEmitter.render (/Users/max/Development/test/express-webpack/dist/server.js:18776:12)
   at ServerResponse.render (/Users/max/Development/test/express-webpack/dist/server.js:20479:7)
   at /Users/max/Development/test/express-webpack/dist/server.js:25508:7
   at Layer.handle [as handle_request] (/Users/max/Development/test/express-webpack/dist/server.js:4524:5)
   at next (/Users/max/Development/test/express-webpack/dist/server.js:4743:13)
   at Route.dispatch (/Users/max/Development/test/express-webpack/dist/server.js:4724:3)
   at Layer.handle [as handle_request] (/Users/max/Development/test/express-webpack/dist/server.js:4524:5)
   at /Users/max/Development/test/express-webpack/dist/server.js:4054:22
Run Code Online (Sandbox Code Playgroud)

这是代码:

的package.json:

{
  "name": "express-webpack",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "awesome-typescript-loader": "^3.0.0-beta.18",
    "copy-webpack-plugin": "^4.0.1",
    "debug": "^2.6.0",
    "ejs": "^2.5.5",
    "express": "^4.14.0",
    "json-loader": "^0.5.4", …
Run Code Online (Sandbox Code Playgroud)

javascript node.js express webpack

6
推荐指数
2
解决办法
3788
查看次数

通过HTTP而不是内部保护Spring Data RepositoryRestResource(CrudRepository)的安全

我有一个Spring Data项目,该项目使用RepositoryRestResource和CrudRepository来通过REST公开实体。通过HTTP访问存储库时,我需要能够保护它的安全,但是在内部使用时(例如,在服务层中),则不能保证它的安全。

我已经启动并运行了春季安全性,但是在CrudRepository方法上添加诸如PreAuthorize之类的注释时,也会在我从服务层中调用安全性表达式时执行安全性表达式。

如果有人可以为此指出我正确的方向,我将感到非常高兴。

编辑1

我尝试从UserRepository中删除“剩余导出”和安全注释以供内部使用,然后将UserRepository子类化为UserRepositoryRestExported,并导出并保护该注释。但是我看到运行之间的安全注释的实现不一致,这使我想知道Spring是否有时会导出UserRepositoryRestExported,而其他时候会导出UserRepository ...?

编辑2

这是编辑1中描述的代码

UserRepository.java

@Component("UserRepository")
public interface UserRepository extends CrudRepository<User, Long> {

    // .. some extra methods

}
Run Code Online (Sandbox Code Playgroud)

UserRepositoryRest.java

@Component("UserRepositoryRest")
@RepositoryRestResource(collectionResourceRel = "users", path = "users")
public interface UserRepositoryRest extends UserRepository {

    @PostAuthorize("authentication.name == returnObject.getName() || hasRole('ROLE_ADMIN')")
    @Override
    User findOne(Long id);

    @PostFilter("authentication.name == filterObject.getName() || hasRole('ROLE_ADMIN')")
    @Override
    Iterable<User> findAll();

    @PreAuthorize("principal.getCell() == #user.getName() || hasRole('ROLE_ADMIN')")
    @Override
    void delete(@P("user") User user);

    User save(User entity);

    long count();

    boolean exists(Long primaryKey);

}
Run Code Online (Sandbox Code Playgroud)

java security spring spring-security spring-boot

6
推荐指数
1
解决办法
1880
查看次数

Android:以编程方式更改 wifi 睡眠策略?

我正在制作一个在手机屏幕锁定时依赖 wifi 的应用程序。但是,用户可能会在 wifi 锁定时将其设置为休眠。有没有办法以编程方式禁用此睡眠策略?

android sleep wifi

5
推荐指数
1
解决办法
3134
查看次数

如何在自定义ControlValueAccessor中更新ng-pristine

我编写了一个简单的CustomValueAccessor来实现pikaday datepicker。它可以工作,但是当我使用日期选择器选择日期并更新属性时,内部输入控件(通过ngModel绑定到属性)不会更新其ng-pristine类,而外部组件却可以。我需要将内部输入标记为ng-touched,但我不知道如何实现。

这是我的课:

import { Component, OnInit, Input, Output, EventEmitter, ViewEncapsulation, forwardRef } from '@angular/core';
import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';

import { DateService } from "./shared";

import * as pikaday from 'pikaday'

@Component({
  selector: 'datepicker',
  templateUrl: 'datepicker.component.html',
  styles: [require('pikaday/css/pikaday.css')],
  encapsulation: ViewEncapsulation.None,
    providers: [
    // providers to implement formControlName
    { 
      provide: NG_VALUE_ACCESSOR,
      useExisting: forwardRef(() => DatePickerComponent),
      multi: true
    }
  ]
})
export class DatePickerComponent implements OnInit, ControlValueAccessor {

  /**
   * ID of the input element
   */
  @Input() id: string; …
Run Code Online (Sandbox Code Playgroud)

javascript typescript angular

5
推荐指数
0
解决办法
748
查看次数

在Angular2应用程序中使用GeoFire

我正在尝试在我的Angular2(RC5)应用程序中设置GeoFire.我已经用npm安装了geofire和firebase,并配置了systemjs来导入它.这是我的package.json:

{
  "name": "MyProject",
  "version": "0.1.0",
  "scripts": {
    "start": "tsc && concurrently \"npm run tsc:w\" \"npm run lite\" ",
    "lite": "lite-server",
    "postinstall": "typings install",
    "tsc": "tsc",
    "tsc:w": "tsc -w",
    "typings": "typings"
  },
  "license": "ISC",
  "dependencies": {
    "@angular/common": "^2.0.0-rc.5",
    "@angular/compiler": "^2.0.0-rc.5",
    "@angular/core": "^2.0.0-rc.5",
    "@angular/forms": "0.3.0",
    "@angular/http": "2.0.0-rc.5",
    "@angular/platform-browser": "^2.0.0-rc.5",
    "@angular/platform-browser-dynamic": "^2.0.0-rc.5",
    "@angular/router": "3.0.0-rc.1",
    "@angular/router-deprecated": "2.0.0-rc.2",
    "@angular/upgrade": "2.0.0-rc.5",
    "angular2-in-memory-web-api": "0.0.15",
    "bootstrap": "^3.3.6",
    "core-js": "^2.4.0",
    "firebase": "^3.3.0",
    "geofire": "^4.1.1",
    "reflect-metadata": "^0.1.3",
    "rxjs": "5.0.0-beta.6",
    "systemjs": "0.19.27",
    "zone.js": "^0.6.12"
  },
  "devDependencies": {
    "concurrently": "^2.0.0",
    "lite-server": …
Run Code Online (Sandbox Code Playgroud)

firebase systemjs geofire angular

2
推荐指数
1
解决办法
2881
查看次数

Java类转换抛出异常

我有一个超级A,B,C和D类扩展A.

class A {}
class B extends A {}
class C extends A {}
class D extends A {}
Run Code Online (Sandbox Code Playgroud)

然后我有一个这样的列表:

[B.class, C.class, D.class]
Run Code Online (Sandbox Code Playgroud)

我从列表中取一个随机项并实例化它:

Object obj = list.get(i).newInstance()
Run Code Online (Sandbox Code Playgroud)

现在我需要将obj传递给一个接受A类对象作为参数的方法.

A a = (A) obj 
Run Code Online (Sandbox Code Playgroud)

导致java抛出异常(InstantiationException或IllegalAccessException,我不知道因为android studio不会在catch中的断点处停止,并且任何尝试从catch中保存有关异常的信息都会导致null ...).

我理解为什么我不能动态指定新的对象类型然后将obj强制转换为该类型,但如果它们都共享公共父类型,我不明白为什么它不起作用.

任何人都可以告诉我如何解决我目前正在做的事情,或以类似的方式实现同​​样的事情?

谢谢!/最大

java android casting class

-4
推荐指数
1
解决办法
1088
查看次数